PDA

View Full Version : سوال: ارور غیر منطقی



sohrabi11
یک شنبه 19 خرداد 1387, 23:56 عصر
من نمی دونم اینچه مشکل کشککییه؟! یه فرم خیلی ساده. دوتا تکست باکس گذاشتم و یه باتنو یه دیتاگراید.
تکست باکس اول نام و تکست باکس دوم شماره.
جالبه تو تکست باکس اول که محتواشو میذاره تو یه متغیر از نوع رشته ، حروف رو به بانک اضافه نمی کنه ارور می ده. باید حتما عدد باشه تا اضافه بشه. قلقش چیه خدا میدونه!

Yama12
دوشنبه 20 خرداد 1387, 01:26 صبح
سلام این کد شما هست:


string query = "INSERT INTO table1 (name, num) VALUES (" + name + ", '" + employeeNumber + "')";


حالا این کد اصلاح شده هست:


string query = "INSERT INTO table1 (name, num) VALUES ('" + name + "', '" + employeeNumber + "')";

حالا اگر تفاوتش رو متوجه شدی!!!
قبل و بعد از Name علاوه بر " باید ' هم میزاشتی!!
خیلی ریزه نکتش:قهقهه:

Yama12
دوشنبه 20 خرداد 1387, 01:38 صبح
در ضمن برای اینکه کدت بهتر و روان تر بشه که بعدا خودتم سر در بیاری و به چنین مشکلات ریزی نخری بهتره یه ذزه بهتر کد نویسی کنی
مثلا به جای name و num که گزاشتی و مقدار دهی کردی اونها رو اینطوری مقدار دهی کن:


وقتی قبل از یک اسم @ میزاری به متغیر تبدیل میشه یا اصطلاحا میگن Place Holder
برای مقدار دهی به اون از کد زیر استفاده کن


"INSERT INTO table1 (name, num) VALUES (@Name,@num)";


فرض کن یک شی از sqlcommand ساختی به نام ObjCommand که کد بالا رو وارد اون کردی
در خط بعدی بنویس



ObjCommand.Parameters.AddWithValue("@Name",textBox1.tex);
ObjCommand.Parameters.AddWithValue ("@Num",textBox2.tex);