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.ejecutarotroSQLクエリを実行するメソッドです。
  • txtProductotxtDescripcionおよびtxtPrecioProductoはテキストボックスです。
  • NumericupdownexistenciaNumericUpDown箱です。
  • comboProductoドロップダウンリストです。

前もって感謝します。

4

1 に答える 1

3

問題はおそらく、数値のi18nフォーマット(コンマとピリオド)です。答えは、入力を適切に解析し、パラメーターを使用することです。一度もない。一度もない。ユーザー入力をSQLに連結しないでください。私は決して言及しませんでしたか?

于 2012-11-24T22:04:17.157 に答える