我要实现用一个保存按钮,修改生成的dataset(显示在datagridview里)的数据按键之后可以保存到数据库里.
数据库文件已经在datagridview里显示了,但是修改保存不行啊。
运行后提示错误:“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”
求大虾帮忙解决!代码如下: private SqlDataAdapter sda; //定义sda private DataSet ds = new DataSet(); //实例化ds private SqlConnection conn; public class sqlhelper //(这个类在另外一个 窗体中)
{
//选择正确的数据库
public string sqlconnstr="Data Source=.\\SQLEXPRESS;User id=sa123;Pwd=123;database=wjtest";
} public void Form4_Load(object sender, EventArgs e) { sqlexe sqlexe=new sqlexe(); sqlhelper sqldata = new sqlhelper();//实例化sqlhelper类,再调用类里的sqlconn 调用数据连接字符串 string strconn = sqldata.sqlconnstr; SqlConnection conn = new SqlConnection(strconn); //建立数据库连接 string sqlword = "select * from room"; sda = new SqlDataAdapter(sqlword,conn); sda.Fill(ds,"room"); dataGridView1.DataSource = ds.Tables["room"];
} public void button1_Click(object sender, EventArgs e)//保存按钮
{
SqlCommandBuilder builder = new SqlCommandBuilder(sda); sda.Update(ds,"room"); //错误就出现这一行!!!!!!! MessageBox.Show("success"); }
我是新手,请给详细解答,谢谢。
数据库文件已经在datagridview里显示了,但是修改保存不行啊。
运行后提示错误:“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”
求大虾帮忙解决!代码如下: private SqlDataAdapter sda; //定义sda private DataSet ds = new DataSet(); //实例化ds private SqlConnection conn; public class sqlhelper //(这个类在另外一个 窗体中)
{
//选择正确的数据库
public string sqlconnstr="Data Source=.\\SQLEXPRESS;User id=sa123;Pwd=123;database=wjtest";
} public void Form4_Load(object sender, EventArgs e) { sqlexe sqlexe=new sqlexe(); sqlhelper sqldata = new sqlhelper();//实例化sqlhelper类,再调用类里的sqlconn 调用数据连接字符串 string strconn = sqldata.sqlconnstr; SqlConnection conn = new SqlConnection(strconn); //建立数据库连接 string sqlword = "select * from room"; sda = new SqlDataAdapter(sqlword,conn); sda.Fill(ds,"room"); dataGridView1.DataSource = ds.Tables["room"];
} public void button1_Click(object sender, EventArgs e)//保存按钮
{
SqlCommandBuilder builder = new SqlCommandBuilder(sda); sda.Update(ds,"room"); //错误就出现这一行!!!!!!! MessageBox.Show("success"); }
我是新手,请给详细解答,谢谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货