Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我有一个Access数据库,当添加其他文本框时,会出现连接错误_C#_Ms Access - Fatal编程技术网

C# 我有一个Access数据库,当添加其他文本框时,会出现连接错误

C# 我有一个Access数据库,当添加其他文本框时,会出现连接错误,c#,ms-access,C#,Ms Access,在Access数据库中添加信息与两个文本框“Name”和“Phone”配合得很好。当我向数据库中添加其他文本框时,会出现连接错误 System.Data.dll中发生类型为“System.Data.OleDb.OLEDBEException”的未处理异常 我在插入新数据时遇到此错误。datagrid显示添加的新字段,我可以读取无法添加的数据 private void button1_Click(object sender, EventArgs e) { con.Open();

在Access数据库中添加信息与两个文本框“Name”和“Phone”配合得很好。当我向数据库中添加其他文本框时,会出现连接错误

System.Data.dll中发生类型为“System.Data.OleDb.OLEDBEException”的未处理异常

我在插入新数据时遇到此错误。datagrid显示添加的新字段,我可以读取无法添加的数据

 private void button1_Click(object sender, EventArgs e)
 {
        con.Open();

        OleDbCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "insert into table1 values('"+txtName.Text+"','"+txtPhone.Text+"','"+txtClockNumber.Text+"','"+txtCostCenter.Text+"')";

        cmd.ExecuteNonQuery();

        con.Close();

        txtName.Text = "";
        txtPhone.Text = "";
        txtClockNumber.Text = "";
        txtCostCenter.Text = "";

        MessageBox.Show("record inserted successfully");
}

您的查询有错误,如@WayneG.Dunn所述

这:

"insert into table1 values('"+txtName.Text+"','"+txtPhone.Text+"','"+txtClockNumber+"','"+txtCostCenter+"')"
必须是:

"insert into table1 values('"+txtName.Text+"','"+txtPhone.Text+"','"+txtClockNumber.Text+"','"+txtCostCenter.Text+"')"
另外,这是关于如何在MS Access中插入值的文章的一部分。
要向表中添加一条记录,必须使用字段列表定义要将数据放入的字段,然后必须在值列表中提供数据本身。要定义值列表,请使用VALUES子句

例如,下面的语句将分别在CustomerID、Last Name和First Name字段中插入值“1”、“Kelly”和“Jill”

插入TBL客户(CustomerID、[姓]、[名]) 值(1,‘Kelly’、‘Jill’)

您可以省略字段列表,但前提是您提供了记录可以包含的所有值。

插入到TBL客户中 数值(1,Kelly,'Jill','555-1040','someone@microsoft.com")


Source

是否设置了table1列的所有值?为什么在“cmd.CommandText”中的两个新字段中没有“.text”“语句?是的,所有列都有一个值,我将文本添加到新字段仍然错误学习使用参数以避免sql注入和格式错误。这是我第一次访问数据库添加和编辑列,我认为这很简单。”。难倒