为什么我更新我的访问数据库时出现此错误?

时间:2012-11-27 15:29:23

标签: c# oledb

这是我的代码:

oledbcm = new OleDbCommandBuilder(oleDbDataAdabter);

DataRow dataRow = myDataset.Tables["salam"].NewRow();

dataRow[1] = textBox2.Text;
dataRow[2] = textBox3.Text;
dataRow[3] = textBox4.Text;
dataRow[4] = textBox5.Text;

myDataset.Tables["salam"].Rows.Add(dataRow);

oleDbDataAdabter.Update(myDataset , "salam");

当我运行它时,会出现此错误:

  

InvalidOperationException未处理;

     

ConnectionString属性尚未初始化。

2 个答案:

答案 0 :(得分:1)

如果这就是你忘记创建并打开OleDbConnection。有关如何使用它的详细信息和示例,请参阅OleDbConnection documentation page

简而言之,您必须按以下方式使用它:

using (OleDbConnection conn = new OleDbConnection(conectionString)) {
    //Your code here.
}

要使其工作,您需要一个有效的连接字符串。这取决于您使用的提供程序,因此,请参阅documentation以确定数据源的有效连接字符串格式。

答案 1 :(得分:0)

您需要使用连接字符串指定OleDbConnection

string connectionString = 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;"
    + "User Id=admin;Password=password;";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    adapter.SelectCommand = new OleDbCommand("SELECT * FROM MyTable", connection);
    OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

    connection.Open();

    DataRow dataRow = myDataset.Tables["salam"].NewRow();

    dataRow[1] = textBox2.Text;
    dataRow[2] = textBox3.Text;
    dataRow[3] = textBox4.Text;
    dataRow[4] = textBox5.Text;

    myDataset.Tables["salam"].Rows.Add(dataRow);

    oleDbDataAdabter.Update(myDataset , "salam");
}