【发布时间】:2017-11-20 07:21:24
【问题描述】:
我正在尝试将项目添加到 C# 中的 Access 数据库。我的代码似乎可以工作(我可以打开和关闭数据库),但是按钮单击事件会产生错误。我整个下午都在谷歌上搜索,但没有任何乐趣。我的代码是:
private void button26_Click(object sender, EventArgs e)
{ //Setup tab LoadDatabase
try
{
connection.Open();
button26.ForeColor = Color.Lime;
mainDataGridView.Visible = true;
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO Main('Prop', 'Value', 'Default','Type') VALUES('one', 'Kelly', 'Jill','one')";
cmd.ExecuteNonQuery();
button26.Text = "Done Insert";
connection.Close();
}
catch (Exception ex)
{
richTextBox1.Text=("Error "+ex);
button26.ForeColor = Color.Black;
connection.Close();
}
}
我得到的错误是:
错误 System.InvalidOperationException:ExecuteNonQuery:连接属性尚未初始化。
在 System.Data.OleDb.OleDbCommand.ValidateConnection(字符串方法)
在 System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(字符串方法)
?在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior 行为,字符串方法)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
在 C:\Somepath\Form1.cs:line 49 中的 CrewCheifSettingsBeta3.Form1.button26_Click(Object sender, EventArgs e)
显然连接字符串有问题,而且它也不是 SQL 注入证明。
【问题讨论】:
-
要执行的命令需要知道应该使用哪个连接。您没有设置任何与您的命令的连接
-
它不会编译 conn.Open(); OleDbCommand cmd = 新 OleDbCommand();连接.CreateCommand(); cmd.CommandText = "INSERT INTO Main('Prop', 'Value',Default','Type') VALUES('one', 'Kelly', 'Jill','one')"; cmd.ExecuteNonQuery(); button26.Text = "完成插入"; conn.Close(); @史蒂夫
-
对 4 个空间代码 cmets 很感兴趣 :)
标签: c# ms-access database-connection