ピクチャボックスを使用してPictureとThumbの印象を使用するアプリケーションを作成していますが、私のコードでこのエラーが発生しました。スカラー変数 "@img"を宣言しなければなりません。 c#
cmd.Parameters.Clear();
それはParametersコレクションからすべてのパラメータをクリアします:あなたは(ms.Close()の後に)ん
con = new SqlConnection(DBHelper.Conectionstring());
con.Open();
cmd = new SqlCommand();
cmd.Parameters.Add("@img",SqlDbType.Image);
cmd.Parameters.Add("@thmb", SqlDbType.Image);
cmd.Connection = con;
MemoryStream ms = new MemoryStream();
MemoryStream ms1 = new MemoryStream();
this.pbxaddpic.Image.Save(ms, this.pbxaddpic.Image.RawFormat);
this.pbxthumb.Image.Save(ms, this.pbxthumb.Image.RawFormat);
byte[] b = ms.GetBuffer();
byte[] t = ms.GetBuffer();
ms.Close();
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@img", b);
cmd.Parameters.AddWithValue("@thmb", t);
int maxpartycode = getmaxpartycode();
cmd.CommandText = "insert into tbl_partyinfo values(" + maxpartycode + ",'" + this.txtname.Text
+ "','" + this.txtfathername.Text + "','" + this.txtcnic.Text +"','"+this.txtaddress.Text+ "','"+this.txtcontactno.Text
+ "','" + this.txtbusinessname.Text + "','" + this.txtbusinessaddress.Text +"','"+this.txtemail.Text+"', '"+this.txtfax.Text
+"',@img,@thmb)";
cmd.ExecuteNonQuery();
con.Close();
cmd = null;
MessageBox.Show("Details Added")
あなたは明らかにパラメータを認識しています。なぜあなたはすべてのデータに対してそれらを使用していませんか?特にここではSQLインジェクションの脆弱性に関する実際の教科書の例を示しています(ユーザコントロールからの直接的な安全でない入力を直接受け取り、文字列連結でそれを信頼してクエリを構築する) –
実際には私は学習者ではありません。 –