PDA

View Full Version : اشكال در وارد كردن ديتا از #C به SQL



navid1n2000
جمعه 25 مرداد 1387, 11:32 صبح
سلام
حالتون خوبه ؟‌
من يك هفته ست كه با يه مشكل جدي روبرو شدم . ديتا بيسم درسته .

private const string _ConnectionString="Data Source=localhost;Initial Catalog=Company;Integrated Security=True";
private const string _CommandText = "INSERT INTO User ID, FName, LName, UserName, Password, CPassword, Semat, Edari, Mali, Nezaraty"+
"VALUES @ID, @FName, @LName, @UserName, @Password, @CPassword, @Semat,
@Edari, @Mali, @Nezaraty";

ولي وقتي برنامه رو اجرا مي كنم اين ERROR‌رو ميده:
‌Incorrect syntax near the keyword 'User'
من رو راهنمايي كنين . مشكل اصلي من اينه كه نمي تونم تو ديتابيسم INSERT‌كنم . ممنونم.

Sajjad.Aghapour
جمعه 25 مرداد 1387, 12:45 عصر
فیلد ها و پارامترها رو داخل پرانتز بذارید


insert into (user id,fname,....) values (@id,@fname,......)

nightHunter
یک شنبه 17 شهریور 1387, 23:03 عصر
سلام ،
این علامتهای @ چرا استفاده میشوند ؟ برای مثال اگر بخواهیم مقادیر فیلدها رو از textBox ها بگیریم چگونه عمل میکنیم ؟

متشکرم .

maalimom
یک شنبه 17 شهریور 1387, 23:21 عصر
سلام شما می تونید از متد replace از کلاس string کلماتی رو که با @ هستند را با نوشته داخل تکس باکسها عوض کنید و خروجی آن را دریافت نمایید
maalimom@yahoo.com

nightHunter
یک شنبه 17 شهریور 1387, 23:37 عصر
سلام

بنده تا اینجای کار به این شکل عمل کردم و هیچ پیام خطایی هم دریافت نکردم ولی رکوردی به بانک اطلاعاتی افزوده نمیشه .

توی یک کلید این فرامین رو نوشتم :


string ifullname, iusername, ipassword, iuserType, istatus;
ifullname = TextBox1.Text;
iusername = TextBox2.Text;
ipassword = TextBox3.Text;
iuserType = TextBox4.Text;
istatus = TextBox5.Text;
Label1.Text = ifullname;
SqlDataSource1.InsertCommand = "INSERT INTO users (fullname, username, password, userType, status) VALUES ( " + @ifullname + " , " + @iusername + " , " + @ipassword + " , " + @iuserType + " , " + @istatus + ")";

بیتافرهی
دوشنبه 18 شهریور 1387, 07:00 صبح
چرا اسم جدولتو که می خوای اطلاعاتت را وارد کنی نمی نویسی؟من خودم این کار را کردم و مشکلی ندارم.:


SqlCommand objcommand = new SqlCommand();
objcommand.Connection = con;
objcommand.CommandText = "insert into tbl_computer_component " +
" (computer_idf,id_cpu_f,id_mb_f)" +
"values(@computer_idf,@id_cpu_f,@id_mb_f)";
// objcommand.Parameters.AddWithValue("@id", textBox1.Text);
objcommand.Parameters.AddWithValue("@computer_idf", textBox2.Text);
objcommand.Parameters.AddWithValue("@id_cpu_f", textBox3.Text);
objcommand.Parameters.AddWithValue("@id_mb_f", textBox4.Text);

con.Open();
objcommand.ExecuteNonQuery();
ds.Clear();
da.Fill(ds, "tbl_computer_component");
con.Close();

بیتافرهی
دوشنبه 18 شهریور 1387, 07:02 صبح
tbl_computer_component این اسم جدولم است.

alireza_farshid
دوشنبه 18 شهریور 1387, 10:48 صبح
SqlCommand objcommand = newSqlCommand();
objcommand.Connection = con;
objcommand.CommandText = "insert into tbl_computer_component " +
" (computer_idf,id_cpu_f,id_mb_f)" +
"values(@computer_idf,@id_cpu_f,@id_mb_f)";
// objcommand.Parameters.AddWithValue("@id", textBox1.Text);
objcommand.Parameters.AddWithValue("@computer_idf", textBox2.Text);
objcommand.Parameters.AddWithValue("@id_cpu_f", textBox3.Text);
objcommand.Parameters.AddWithValue("@id_mb_f", textBox4.Text);

con.Open();
objcommand.ExecuteNonQuery();
ds.Clear();
da.Fill(ds, "tbl_computer_component");
con.Close();

برای خالی کردن dataset و پر کردن مجدد اون با dataadapter نیازی نیست این دوتا خط بین con.open(); و close باشه بعد از close شدن connection هم میتونید عمل fill رو انجام بدید