PDA

View Full Version : مشکل هنگام insert تو بانک



nooshin609
پنج شنبه 07 شهریور 1392, 14:32 عصر
سلام دوستان
ميشه ببينين مشکل کد زير چيه؟



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.

amir200h
پنج شنبه 07 شهریور 1392, 14:39 عصر
یکی از فیلدهای بانکتون احتمالا از نوع عددی میباشد و شما دارین بصورت رشته ارسال میکنین. دز خط زیر
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);

nooshin609
شنبه 09 شهریور 1392, 09:39 صبح
اينکارو کردم ولي حالا اينو ميده
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.

MiniMicro
شنبه 09 شهریور 1392, 11:01 صبح
سلام این طوری من از متن پیغام متوجه شدم شما تو دستور insert یک سری از ستون ها رو مشخص کردی که بهشون مقدار بدی ولی در بخش values همین دستور تعداد مقادیر اختصاص داده شده با تعداد ستون برابر نیست به خاطر همین هست که خطا میده لطفاً توی کوئری که نوشتین بیشتر دقت کنید تا مشکلتون حل بشه ...
موفق باشید.

amir200h
شنبه 09 شهریور 1392, 12:14 عصر
این کد رو بنویسین.
به این نوع کد نوشتم میگن ارسال با پارامتر. بهتره کدهاتون رو بصورت زیر بنویسین
موفق باشین
SqlConnection con = new SqlConnection("server=(local);database=NameBanketon;trusted_conne ction=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();