ورود

نسخه کامل مشاهده نسخه کامل : مشکل با insert کردن C#



adameh_bahal
03-02-2010, 10:31
من وقتی میخام از Insert استفاده کنم این ارور رو میده :
SqlConnection MyConnection = new SqlConnection();
MyConnection.ConnectionString = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Paaygaah Daade\WarehouseProduct.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

SqlCommand MySqlCommand = new SqlCommand();
MySqlCommand.Connection = MyConnection;
MySqlCommand.CommandText = "insert into FixPersonelInfo values (@pid,@pname,@unit,@unit_price) ;

MyConnection.Open();
MySqlCommand.ExecuteNonQuery();
Connection.Close();

misoft
05-02-2010, 19:56
سلام
بهتر بود خطایی که با اون روبرو شدید رو میگذاشتید
اما به هر حال شما پارامترهای متودتون رو تعریف نکردید
همچنین شما یک کانکشن نام کانکشنی که استفاده کردید یکسان نیست:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

bad_boy_2007
05-02-2010, 21:32
کدتان صحیح به نظر میرسد بجز این بخشش که پارامتر ها را تعریف و مقدار دهی نکردید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نکته دیگر اینکه دستور SQL تان صحیح است ولی اگر ساختار جدولاتان تغییر کند به احتمال زیاد کار نخواهد کرد ، بهتر است اسم ستونهای جدول (که اختیاری است) را قید کنید ، به دو دستور Insert ذیل دقت کنید :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حال اگر ساختار جدول را بگونه ای تغییر دهیم که جای ستونهای Name , Family عوض شود یا اینکه ستون جدیدی قبل از آنها اضافه کنیم یا ... در این صورت کوئری دوم یا کار نخواهد کرد یا آنگونه که متصور بوده کار نمیکند .

توصیه دوم : برای این کارها از StoredProcedure ها استفاده کنید