0

我有这个存储过程,当我从我的 c# 代码调用时,我得到了错误,我不知道是什么问题。

存储过程

ALTER procedure [dbo].[modProducto]    

Store Procedure    
@id integer,    
@descripcion varchar(100),    
@tipoproducto integer,  
@existencia integer,  
@precio money  
AS  
 update producto  
set descripcion = @descripcion, idtipoproducto = @tipoproducto, existencia = @existencia, precio = @precio  
where idproducto = @id  
select 'Producto modificado correctamente'  

C# 代码

MessageBox.Show(cx.ejecutarOtro("modProducto " +    
                                txtProducto.Text + ",'" +  
                                txtDescripcion.Text + "'," +  
                                (comboProducto.SelectedIndex + 1) + "," +  
                                numericUpDownExistencia.Text + "," +  
                                txtPrecioProducto.Text  
                               ));  
  • cx.ejecutarotro是执行 SQL 查询的方法。
  • txtProducto,txtDescripcion并且txtPrecioProducto是文本框。
  • Numericupdownexistencia是一个NumericUpDown盒子。
  • comboProducto是一个下拉列表。

提前致谢。

4

1 回答 1

3

问题可能是数字的 i18n 格式 - 逗号与句点。答案是:正确解析输入,并使用参数。绝不。绝不。永远不要将用户输入连接到 SQL 中。我有没有提到过?

于 2012-11-24T22:04:17.157 回答