string conStr = "Server= USERSWO-MI8QI4Q\\SQLEXPRESS;Initial Catalog=LibraryCRM;Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(conStr);
int index = this.dataGridView2.CurrentCell.RowIndex;
string readerID = this.dataGridView2.Rows[index].Cells["readerIDDataGridViewTextBoxColumn"].Value.ToString();
string strSQL = "Delete From ReaderInfo Where readerID= '" + readerID + "'";
try
{
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(strSQL ,conn );
DataSet ds = new DataSet();
sda.Fill(ds, "ReaderInfo");
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
MessageBox.Show("成功删除数据!");
}
数据源是一张视图 ReaderInfo,对dataGridView2进行操作,删除选中行,然后重新绑定数据源
但是每次执行了
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
之后,dataGridView2.DataSource就变成了null
纠结很久了!c#sqlserverdatagridview
SqlConnection conn = new SqlConnection(conStr);
int index = this.dataGridView2.CurrentCell.RowIndex;
string readerID = this.dataGridView2.Rows[index].Cells["readerIDDataGridViewTextBoxColumn"].Value.ToString();
string strSQL = "Delete From ReaderInfo Where readerID= '" + readerID + "'";
try
{
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(strSQL ,conn );
DataSet ds = new DataSet();
sda.Fill(ds, "ReaderInfo");
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
MessageBox.Show("成功删除数据!");
}
数据源是一张视图 ReaderInfo,对dataGridView2进行操作,删除选中行,然后重新绑定数据源
但是每次执行了
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
之后,dataGridView2.DataSource就变成了null
纠结很久了!c#sqlserverdatagridview
SqlConnection conn = new SqlConnection(conStr);
int index = this.dataGridView2.CurrentCell.RowIndex;
string readerID = this.dataGridView2.Rows[index].Cells["readerIDDataGridViewTextBoxColumn"].Value.ToString();
string strSQL = "Delete From ReaderInfo Where readerID= '" + readerID + "'";
try
{
conn.Open();
//此处加下面几句
SqlCommand cmd=conn.CreateCommand();
cmd.CommandText=strSQL;
cmd.ExecuteNonQuery(); //删除,不建议这样删除视图
conn.Close();
strSQL="SELECT * FROM ReaderInfo "; //需要重新绑定
SqlDataAdapter sda = new SqlDataAdapter(strSQL ,conn );
DataSet ds = new DataSet();
sda.Fill(ds, "ReaderInfo");
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
MessageBox.Show("成功删除数据!");
}
但是会出现“System.NullReferenceException”类型的未经处理的异常出现在 System.Windows.Forms.dll 中。
SqlDataAdapter sda = new SqlDataAdapter(strSQL ,conn ); DataSet ds = new DataSet();
sda.Fill(ds, "ReaderInfo"); 这个代码,strSQL中是删除语句,用来填充DS自然无效为NULL.
System.NullReferenceException 查询一下数据库中是否有NULL的字段处理上出问题.
dataGridView2.DataSource = ds.Tables["ReaderInfo"];
这句执行后就出现“System.NullReferenceException”类型的未经处理的异常出现
我实在是不知道怎么改了,可能是因为视图的关系,所以才会这样
之后我吧数据源改为显示整个表中属性的,就通过了
这是要搞死人啊!