PDA

View Full Version : Syntax error in UPDATE statement در آپدیت به روش پارامتریک



mohsenmxp
چهارشنبه 18 مرداد 1391, 18:19 عصر
با سلام به دوستان
کدی رو به منظور آپدیت کردن فیلد های جدولم از SQL به Access تغییر دادم که بتونم در برنامه از اون استفاده کنم اما با خطای Syntax error in UPDATE statement رو به رو میشم - کدی که نوشتم اشکالی داره ؟


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Collections;
namespace Main
{
public partial class Edit : Form
{
OleDbConnection Con = new OleDbConnection();
OleDbDataAdapter Da = new OleDbDataAdapter();
DataSet Ds = new DataSet();
OleDbCommand Cmd = new OleDbCommand();
ArrayList Arr = new ArrayList();
private void Connect()
{
Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Database.mdb";
}
private DataSet LoadAll()
{

Connect();

Cmd.CommandText = "select * from 1";

Cmd.Connection = Con;

Da.SelectCommand = Cmd;

Con.Open();

Da.Fill(Ds, "Barnamenevis");

Con.Close();

return Ds;

}
private void Update(OleDbCommand Cmd)
{
Connect();
Cmd.Connection = Con;
Con.Open();
Cmd.ExecuteNonQuery();
Con.Close();
}
public Edit()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Arr.Add(textBox1.Text);
Arr.Add(textBox2.Text);
Arr.Add(textBox3.Text);
Cmd.CommandText = "Update 1 Name=@Field1,Tell=@Field2 Where ID=@ID";
Cmd.Parameters.Clear();

Cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Arr[0].ToString();
Cmd.Parameters.Add("@Tell", SqlDbType.NVarChar).Value = Arr[1].ToString();
Cmd.Parameters.Add("@ID", SqlDbType.NVarChar).Value = Arr[2].ToString();
Update(Cmd);

}

private void Edit_Load(object sender, EventArgs e)
{

LoadAll();
dataGridView1.DataSource = Ds;
dataGridView1.DataMember = "Barnamenevis";
}

private void textBox3_TextChanged(object sender, EventArgs e)
{

}
}
}

veniz2008
چهارشنبه 18 مرداد 1391, 19:09 عصر
سلام، دستور update رو چرا به اینصورت نوشتی؟
اینطوری بنویس:

Cmd.CommandText = "Update table_name set Name=@Field1,Tell=@Field2 Where ID=@ID";
منظور از table_name ، نام جدولت هست.
موفق باشید.

mohsenmxp
چهارشنبه 18 مرداد 1391, 23:15 عصر
سلام، دستور update رو چرا به اینصورت نوشتی؟
اینطوری بنویس:

Cmd.CommandText = "Update table_name set Name=@Field1,Tell=@Field2 Where ID=@ID";
منظور از table_name ، نام جدولت هست.
موفق باشید.
ممنونم - مشکل از set بود که با راهنماییتون بر طرف شد.:قلب: