اشکال در ذخیره اطلاعات با Database اکسس
سلام دوستان من از سه نوع کد نویسی برای ذخیره اطلاعات استفاده کردم ولی هر سه نوع دستور برای ذخیره اطلاعات این خطا رو به من میده
Syntax error in INSERT INTO statement.
برای رفع خطا نمیدونم چیکار باید کنم.
این هم سه نوع روش کنیم نویسی من که در اسکیول سرور جواب میده ولی در اکسس خطا میده.
//OleDbDataAdapter da = new OleDbDataAdapter();
//da.SelectCommand = new OleDbCommand("select * from Tbl_Moshtere", con);
//OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
//DataSet ds = new DataSet();
//da.Fill(ds, "Tbl_Moshtere");
//DataTable dt = ds.Tables["Tbl_Moshtere"];
//DataRow newRow = dt.NewRow();
//newRow["ID"] = TxtId.Text;
//newRow["Name"] = TxtName.Text;
//newRow["Last"] = TxtLast.Text;
//dt.Rows.Add(newRow);
//da.Update(ds, "Tbl_Moshtere");
OleDbCommand cmd = new OleDbCommand();
//con.Open();
//cmd.Connection = con;
//cmd.CommandText = "INSERT INTO Tbl_Moshtere (ID,Name,Last) VALUES (@ID,@Name,@Last)";
//cmd.Parameters.AddWithValue("@ID", TxtId.Text);
//cmd.Parameters.AddWithValue("@Name", TxtName.Text);
//cmd.Parameters.AddWithValue("@Last", TxtLast.Text);
//cmd.ExecuteNonQuery();
//con.Close();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO Tbl_Moshtere (ID,Name,Last) VALUES (N'" + TxtId.Text + "',N'" + TxtName.Text + "',N'" + TxtLast.Text + "')";
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
ممنون میشم بگید برای رفع این خطا باید چیکار انجام بدم.
نقل قول: اشکال در ذخیره اطلاعات با دیتابیس اکسس
کسی نیست بگه علت این خطا چی هستش من سه نوع کد نویسی انجام دادم در اسکیول سرور جواب میده اطلاعات رو ذخیره میکنه ولی در اکسس 2003 جواب گو نیست برای ذخیره اطلاعات
Syntax error in INSERT INTO statement.
نقل قول: اشکال در ذخیره اطلاعات با دیتابیس اکسس
سلام
در اکسس از N استفاده نمیشه. دوم اینکه در اکسس اگه رشته بخواید ثبت کنید از دوتا تک کوتیشن ' در طرفین عبارت استفاده میشه ولی برای عدد نیازی به ' در طرفین عدد نیست. اگه از پارامتر استفاده کنید دیگه این مشکل دوم رو نخواهید داشت.
نقل قول: اشکال در ذخیره اطلاعات با دیتابیس اکسس
از پرامتر هم استفاده کردم مشاهده کنید با اون دستور هم خطا داده
نقل قول: اشکال در ذخیره اطلاعات با دیتابیس اکسس
پس مشکل از کلمه Name هست این کلمه از کلمات رزرو شده اکسس هست و شما نمی تونید از این کلمات به عنوان نام جدول یا نام فیلد استفادش کنید.
نقل قول: اشکال در ذخیره اطلاعات با Database اکسس
دوست عزیز اسم Name رو عوض کردم به این صورت نوشتم Namee ولی باز همون خطا رو داد به سه نوع کد نویسی نوشتم این خطا
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand("select * from Tbl_Moshtere", con);
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "Tbl_Moshtere");
DataTable dt = ds.Tables["Tbl_Moshtere"];
DataRow newRow = dt.NewRow();
newRow["ID"] = TxtId.Text;
newRow["Namee"] = TxtName.Text;
newRow["Last"] = TxtLast.Text;
dt.Rows.Add(newRow);
da.Update(ds, "Tbl_Moshtere");
OleDbCommand cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = "INSERT INTO Tbl_Moshtere (ID,Namee,Last) VALUES (@ID,@Namee,@Last)";
cmd.Parameters.AddWithValue("@ID", TxtId.Text);
cmd.Parameters.AddWithValue("@Namee", TxtName.Text);
cmd.Parameters.AddWithValue("@Last", TxtLast.Text);
cmd.ExecuteNonQuery();
con.Close();
//cmd.CommandType = CommandType.Text;
//cmd.CommandText = "INSERT INTO Tbl_Moshtere (ID,Namee,Last) VALUES (" + TxtId.Text + ",'" + TxtName.Text + "','" + TxtLast.Text + "')";
//cmd.Connection = con;
//con.Open();
//cmd.ExecuteNonQuery();
//con.Close();
نقل قول: اشکال در ذخیره اطلاعات با Database اکسس
فیلد ID از نوع AutoNumber نیست؟
اصلاً این قسمت پروژه با دیتابیس رو آپلود کنید ببینم مشکل چیه.
**************
آقا Last هم رزروه!
دو تا لینک زیر رو نگاه کنید کلمات رزرو شده داخلش هست.
https://support.microsoft.com/en-us/kb/286335
https://support.office.com/en-us/art...__toc272229039
نقل قول: اشکال در ذخیره اطلاعات با Database اکسس
ممنون مقدار last هم عوض کردم درست شد با Name