PDA

View Full Version : مشکل در insert into



rashidi_sm
پنج شنبه 15 فروردین 1392, 14:26 عصر
سلام
من یک قطعه کد ساده نوشتم برای وارد کردن اطلاعات به یک جدول
OleDbConnection Con1 = new OleDbConnection(strCon);
OleDbCommand cmd1 = new OleDbCommand("INSERT INTO pichoMohreh(descript,Percent,level,ID) VALUES (@a,@b,@c,@d)", Con1);


cmd1.Parameters.AddWithValue("@a", sharh.Text);
cmd1.Parameters.AddWithValue("@b", darsad.Text);
cmd1.Parameters.AddWithValue("@c", marhale.Text);
cmd1.Parameters.AddWithValue("@d", radif.Text);

Con1.Open();
cmd1.ExecuteNonQuery();
Con1.Close();
ولی مدام خطا می ده که there are synatx error in Insert to کسی می دونه مشکلش جیه؟

esafb52
پنج شنبه 15 فروردین 1392, 14:52 عصر
کانکشت رو جدا نسبت بده ببین باز خطا میده من کانکشن رو تو یه خطا جدا بهش نسبت میدم خطا نمیده

cmd.CommandText = "INSERT INTO table1 (fullname,userkarbari,userpass,codemeli,fuletype1, fuletype2,addressusing,karbordsohkt) values(@1,@2,@3,@4,@5,@6,@7,@8)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@1", textBox1.Text);
cmd.Parameters.AddWithValue("@2", textBox2.Text);
cmd.Parameters.AddWithValue("@3", textBox3.Text);
cmd.Parameters.AddWithValue("@4", textBox5.Text);
cmd.Parameters.AddWithValue("@5", textBox4.Text);
cmd.Parameters.AddWithValue("@6", textBox6.Text);
cmd.Parameters.AddWithValue("@7", textBox7.Text);
cmd.Parameters.AddWithValue("@8", comboBox1.Text.ToString());

}
try
{
iud(cmd);
MessageBox.Show("این فرد با موفقیت اضافه شد");
clearalltextbox();
}

public void iud(OleDbCommand cmd)
{
cmd.Connection = con;
con.Open();
da.SelectCommand = cmd;
ds.Clear();
cmd.ExecuteNonQuery();
con.Close();
da.Update(ds, "table1");
LoadAll();
cmd.Dispose();
}

rashidi_sm
پنج شنبه 15 فروردین 1392, 15:30 عصر
جدا هم که می نویسم همون مشکل را دارد

moeinih
پنج شنبه 15 فروردین 1392, 15:43 عصر
من فكر ميكنم كه بايد اگه فيلدهاتون توي پايگاه داده از نوع رشته اي هست به اينصورت بنويسيد

cmd.CommandText = "INSERT INTO table1 (fullname,userkarbari,userpass,codemeli,fuletype1, fuletype2,addressusing,karbordsohkt) 'values('@1','@2','@3','@4','@5','@6','@7','@8)";

Louai_M
پنج شنبه 15 فروردین 1392, 18:36 عصر
با سلام
ایراد کدت اینه
INSERT INTO TABEL1 (FILD1,FILD2) VALUES (@FILD1,@FILD2)
یعنی هرچی که نام فیلدت هست در values بعد از @ باید همان بکار رود

Louai_M
پنج شنبه 15 فروردین 1392, 18:40 عصر
OleDbConnection Con1 = new OleDbConnection(strCon);
OleDbCommand cmd1 = new OleDbCommand("INSERT INTO pichoMohreh(descript,Percent,level,ID) VALUES (@descript,@Percent,@level,@ID)", Con1);


cmd1.Parameters.AddWithValue("@descript", sharh.Text);
cmd1.Parameters.AddWithValue("@Percent", darsad.Text);
cmd1.Parameters.AddWithValue("@level", marhale.Text);
cmd1.Parameters.AddWithValue("@ID", radif.Text);

Con1.Open();
cmd1.ExecuteNonQuery();
Con1.Close();

اگه بازهم اشکال داد بگو

rashidi_sm
پنج شنبه 15 فروردین 1392, 19:31 عصر
باز هم همون خطا رو می گیره :
syntax error in INSERT TO

aliasghar2
پنج شنبه 15 فروردین 1392, 19:38 عصر
سلام
برای دادن مقدار از روش زیر استفاده کن ببین جواب میده
cmd1.Parameters.Add("@radif",sqlDbType.int)
cmd1.Parameters["radif"].Value=1

khokhan
پنج شنبه 15 فروردین 1392, 19:49 عصر
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\dbs.mdb";

OleDbConnection ocn = new OleDbConnection(ConnectionString);
OleDbCommand ocm = new OleDbCommand();

ocm.CommandText = "insert into pichoMohreh (descript,Percent,level,ID) values (@descript,@Percent,@level,@ID)";
ocm.Parameters.Clear();
ocm.Parameters.AddWithValue("@descript", sharh.Text);
ocm.Parameters.AddWithValue("@Percent", darsad.Text);
ocm.Parameters.AddWithValue("@level", marhale.Text);
ocm.Parameters.AddWithValue("@ID", radif.Text);
ocm.Connection = null;
ocm.Connection = ocn;

ocn.Open();
ocm.ExecuteNonQuery();
ocn.Close();

ocm.Dispose();

MessageBox.Show("شخص مورد نظر با موفقیت اضافه شد", "Ok", MessageBoxButtons.OK, MessageBoxIcon.Information);