datagridview不能更新!
SqlDataAdapter ada = new SqlDataAdapter();
BindingSource bs = new BindingSource();
DataSet ds = new DataSet();
SqlCommandBuilder builder = new SqlCommandBuilder();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“myDBDataSet.T_User”中。您可以根据需要移动或移除它。
//this.t_UserTableAdapter.Fill(this.myDBDataSet.T_User);
}
private void button1_Click(object sender, EventArgs e)//查询并显示数据
{
string sql = "SELECT UserID,UserName,Department FROM T_User WHERE userid=@userid";
SqlParameter parameter = new SqlParameter("@userid", SqlDbType.Int);
parameter.Value = Convert.ToInt32(txtID.Text);
string ConnectionString = "Data Source=.;Initial Catalog=UserDB;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State != ConnectionState.Open)
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add(parameter);
ada = new SqlDataAdapter(cmd);
SqlCommandBuilder buider = new SqlCommandBuilder(ada);
ada.Fill(ds, "T_User");
bs.DataSource = ds.Tables["T_User"];
dataGridView1.DataSource = bs;
}
}
private void button2_Click(object sender, EventArgs e)
{
ada.Update((DataTable)bs.DataSource);//在此出现错误,ConnectionString 属性尚未初始化。
}
看了好多资料,好象只要用Adapter.Update()就能完成对数据库的更新,试试不行啊,该怎么改啊??? --------------------编程问答-------------------- DataAdapter 具有四项用于从数据源检索数据和更新数据源中的数据的属性:
SelectCommand 属性从数据源中返回数据;
InsertCommand、UpdateCommand 和 DeleteCommand 属性用于管理数据源中的更改。
在调用 DataAdapter 的 Fill 方法之前,必须设置 SelectCommand 属性。
根据对 DataSet 中的数据作出的更改,在调用 DataAdapter 的 Update 方法之前,必须设置 InsertCommand、UpdateCommand 或 DeleteCommand 属性。
例如,如果已添加行,在调用 Update 之前必须设置 InsertCommand。当 Update 处理已插入、更新或删除的行时,DataAdapter 将使用相应的 Command 属性来处理该操作。有关已修改行的当前信息将通过 Parameters 集合传递到 Command 对象。 --------------------编程问答-------------------- ds = new DataSet(); --------------------编程问答-------------------- string sql;
string ConnectionString;
SqlDataAdapter ada;
private void button1_Click(object sender, EventArgs e)//查询并显示数据
{
string sql = "SELECT UserID,UserName,Department FROM T_User WHERE userid=" + Convert.ToInt32(txtID.Text);
string ConnectionString = "Data Source=.;Initial Catalog=UserDB;Integrated Security=True";
ada = new SqlDataAdapter(sql, ConnectionString);
DataTable dt=new DataTable();
ada.Fill(dt);
dataGridView1.DataSource = dt;
}
private void button2_Click(object sender, EventArgs e)
{
DataTable dt=dataGridView1.DataSource as DataTable;
SqlCommandBuilder buider = new SqlCommandBuilder(ada);
ada.Update(dt);
}
补充:.NET技术 , C#