我已經在使用適配器進行編輯後更新datagridview到數據庫上了很多功能。我提到了幾個網站,給了我類似的例子,如下所示。但是,我在button2_Click的第一行出現「ArgumentNullException was unhandled」錯誤。從datagridview更新數據庫
我是編程新手,我被教導要將適配器聲明爲全局適配器,而且我也這樣做了。爲什麼我仍然得到空值?任何幫助,將不勝感激。謝謝!
DataTable dt;
DataSet ds;
OleDbDataAdapter objAdapter = new OleDbDataAdapter();
public void button1_Click(object sender, EventArgs e)
{
//Bind button
string txt = textBox1.Text;
string strOleDbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Project.mdb";
string strSqlStatement = string.Empty;
strSqlStatement = "SELECT * FROM jiahe WHERE [User] = '" + txt + "'";
OleDbConnection objConnection = new OleDbConnection(strOleDbConnectionString);
objAdapter = new OleDbDataAdapter(strSqlStatement, objConnection);
DataSet ds = new DataSet();
dataGridView1.DataSource = ds;
objAdapter.Fill(ds);
DataTable dt = ds.Tables[0];
dataGridView1.DataSource = dt.DefaultView;
try
{
if (dt.Rows.Count == 1)
{
MessageBox.Show("Record found.");
}
else
{
if (dt.Rows.Count == 0)
{
MessageBox.Show("Invalid input!");
}
}
}
catch
{
MessageBox.Show("Error!");
}
}
private void button2_Click(object sender, EventArgs e)
{
objAdapter.Update(ds);
dataGridView1.DataSource = ds;
}
如何讓它們成爲完全相同的實例?不會讓它成爲一個全球變量來完成這項工作嗎? – Daz 2011-12-28 08:35:35
@daz:看到我編輯的帖子。 – Tigran 2011-12-28 08:41:26
謝謝。現在我把它指向了同一個ds。但是,我有另一個錯誤「InvalidOperationException未處理」。它說'更新需要一個有效的UpdateCommand通過修改的行傳遞DataRow集合。'爲什麼更新命令無效?請幫忙! – Daz 2011-12-28 08:44:01