当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,