gpt4 book ai didi

c# - 使用 ms access(c#) 的 datagridview 出错

转载 作者:行者123 更新时间:2023-11-30 12:53:49 25 4
gpt4 key购买 nike

下面提到的代码引发错误“INSERT INTO STATEMENT 中的语法错误”

这里我取了名字和数字字段有文字

没有作为自动编号(主键)

con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/ppd/db1.mdb;Jet OLEDB:Database Password=techsoft");

da = new OleDbDataAdapter("select * from contacts", con);

DataSet ds = new DataSet();

da.Fill(ds, "contacts");

dt = ds.Tables[0];

dataGridView1.DataSource = dt;
OleDbConnection con;

OleDbDataAdapter da;

DataTable dt;

OleDbCommand cm;

string insertQuery = @"insert into contacts(names,number,no) Values (@names,@number,@no)";

cm = new OleDbCommand(insertQuery, con);

cm.Parameters.Add("@names", OleDbType.VarChar, 10, "names");

cm.Parameters.Add("@number", OleDbType.VarChar, 10, "number");

cm.Parameters.Add("@no", OleDbType.VarChar, 10, "no");

da.InsertCommand = cm;

private void button26_Click(object sender, EventArgs e)
{
da.Update(dt);
}

最佳答案

您不能将文本放在数字类型的字段中。如果“no”是自动编号,则根本不给它一个值,它会自动递增。只需更改以下行:

string insertQuery = @"insert into  contacts(names,number,no) Values (@names,@number,@no)";    

string insertQuery = @"insert into  contacts(names,number) Values (@names,@number)";    

并删除说

的行
cm.Parameters.Add("@no", OleDbType.VarChar, 10, "no");

关于c# - 使用 ms access(c#) 的 datagridview 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1497826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com