用C#调用access数据库时总是报错,大神们来帮我看看。
foreach(DataRowrowinset2.Tables[0].Rows)//确保不会重复登录保存账号。if(row["登录名"].ToString()==comb...
foreach (DataRow row in set2.Tables[0].Rows)//确保不会重复登录保存账号。
if (row["登录名"].ToString() == comboBox1.Text)
{
flag = false;
if (checkBox1.Checked == true)
row["记住密码"] = "True";
else
row["记住密码"] = "False";
adp2.Update(set2, "登录数据");//在此报错
break;
}
报错信息:对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。
用foreach也需要指定主键吗?需要的话怎么指定呢? 展开
if (row["登录名"].ToString() == comboBox1.Text)
{
flag = false;
if (checkBox1.Checked == true)
row["记住密码"] = "True";
else
row["记住密码"] = "False";
adp2.Update(set2, "登录数据");//在此报错
break;
}
报错信息:对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。
用foreach也需要指定主键吗?需要的话怎么指定呢? 展开
1个回答
展开全部
CommandBuilder没关联上
追问
OleDbDataAdapter adp2 = new OleDbDataAdapter("select * from 登录数据", conn);
OleDbCommandBuilder cmdb = new OleDbCommandBuilder(adp2);
哪有问题吗
追答
OleDbCommand cmd = new OleDbCommand("select * from 登录数据", conn);
OleCommandBuilder cb = new OleDbCommandBuilder();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
cb.DataAdapter = da;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询