مشکل هنگام insert تو بانک
سلام دوستان
ميشه ببينين مشکل کد زير چيه؟
string sql1 = "INSERT INTO tblrastehF" +
" (namrastehF, xrastehA)" +
" VALUES (N'{0}'),(N'{1}') ";
sql1 = string.Format(sql1, this.Name,this.label1.Text);
اينم پيغام خطاشه:
There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
نقل قول: مشکل هنگام insert تو بانک
یکی از فیلدهای بانکتون احتمالا از نوع عددی میباشد و شما دارین بصورت رشته ارسال میکنین. دز خط زیر
VALUES (N'{0}'),(N'{1}')
تک کتیشنی که مربوط به اون فیلد عدیدی استو بردارین.
با فرض اینمه فیلد namrastehF عددی باشه کد رو به صورت زیر تغییر بدین
string sql1 = "INSERT INTO tblrastehF" +
" (namrastehF, xrastehA)" +
" VALUES (N{0},N'{1}') ";
sql1 = string.Format(sql1, this.Name,this.label1.Text);
نقل قول: مشکل هنگام insert تو بانک
اينکارو کردم ولي حالا اينو ميده
Invalid column name 'N'.
There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
نقل قول: مشکل هنگام insert تو بانک
سلام این طوری من از متن پیغام متوجه شدم شما تو دستور insert یک سری از ستون ها رو مشخص کردی که بهشون مقدار بدی ولی در بخش values همین دستور تعداد مقادیر اختصاص داده شده با تعداد ستون برابر نیست به خاطر همین هست که خطا میده لطفاً توی کوئری که نوشتین بیشتر دقت کنید تا مشکلتون حل بشه ...
موفق باشید.
نقل قول: مشکل هنگام insert تو بانک
این کد رو بنویسین.
به این نوع کد نوشتم میگن ارسال با پارامتر. بهتره کدهاتون رو بصورت زیر بنویسین
موفق باشین
SqlConnection con = new SqlConnection("server=(local);database=NameBanketo n;trusted_connection=yes");
SqlCommand com = new SqlCommand();
com.CommandText = "insert into tblrastehF (namrastehF,xrastehA) ";
com.CommandText += "values (@namrastehF,@xrastehA)";
com.Parameters.AddWithValue("@namrastehF", this.Name);
com.Parameters.AddWithValue("@xrastehA", this.label1.Text);
com.Connection = con;
con.Open();
com.ExecuteNonQuery();
con.Close();