用dataset修改數據,你們看看哪里出錯了


SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source=.;Initial Catalog=student;Integrated Security=True";
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "select * from [dbo].[login]";
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = cmd;
        DataSet ds = new DataSet();

            conn.Open();
            sda.Fill(ds, "login");
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            DataRow dr = dt.Rows[1];
            dt.Rows[1][1]="12";
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            sda.UpdateCommand = scb.GetUpdateCommand();
            sda.Update(dt);
            Response.Write("成功");

4 个解决方案

#1


錯誤是這樣的  對於不返回任何鍵列信息的 SelectCommand,不支持 UpdateCommand 的動態 SQL 生成

#2


SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source=.;Initial Catalog=student;Integrated Security=True";
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "select * from [dbo].[login]";
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = cmd;
        DataSet ds = new DataSet();
        try
        {
            conn.Open();
            sda.Fill(ds, "login");
            DataTable dt = new DataTable();
            dt = ds.Tables["login"];
            DataRow dr = dt.Rows[2];
            dr.Delete();
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            sda.DeleteCommand = scb.GetDeleteCommand();
            sda.Update(dt);
            Response.Write("刪除成功");
            conn.Close();

        }
        catch (Exception)
        {
            
            throw;
        }
錯誤是:對於不返回任何鍵列信息的 SelectCommand,不支持 DeleteCommand 的動態 SQL 生成。

#3


你login表沒設置主鍵吧

#4


沒有設置主鍵

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com