SqlDataAdapter da = new SqlDataAdapter(sb.ToString(), con);
DataSet ds = new DataSet();
tra.Commit();
ds.Clear();
da.Fill(ds, "table");
string str =
"insert into Class values('王二','yuwen','80');" +
"insert into Class values('王二','shuxue','80');" +
"insert into Class values('王二','yingyu','80');" +
"insert into Class values('王二','wuli','80');";
da = new SqlDataAdapter(str, con);
SqlCommandBuilder sqlcmd = new SqlCommandBuilder(da);
int total= da.Update(ds, "table");
ds.AcceptChanges();
这段程序 怎么更新不了数据库啊,望高人指点啊!在线
DataSet ds = new DataSet();
tra.Commit();
ds.Clear();
da.Fill(ds, "table");
string str =
"insert into Class values('王二','yuwen','80');" +
"insert into Class values('王二','shuxue','80');" +
"insert into Class values('王二','yingyu','80');" +
"insert into Class values('王二','wuli','80');";
da = new SqlDataAdapter(str, con);
SqlCommandBuilder sqlcmd = new SqlCommandBuilder(da);
int total= da.Update(ds, "table");
ds.AcceptChanges();
这段程序 怎么更新不了数据库啊,望高人指点啊!在线
不清楚,不过我发现几个其它问题,不知道是否有关系!
tra.Commit();
你用到了事务,而且已经在更新前提交了,不知道跟这有关系没!
你的表名是Class,看上去很像SQL关键字呀,加上方括号再试试嘞
使用 da.Update(ds, "table"),查询语句,必须包含主键,才能更新成功
我记得fill是只能用于select的。
insert要用update吧。
而且,在调用fill之前应该把commandtext赋值吧?
fill是针对SELECT的没错啊 fill后dataset是有值的 没有问题
DataSet ds = new DataSet();
tra.Commit();
ds.Clear();
da.Fill(ds, "table");
string str =
"insert into Class values('王二','yuwen','80');" +
"insert into Class values('王二','shuxue','80');" +
"insert into Class values('王二','yingyu','80');" +
"insert into Class values('王二','wuli','80');";
da = new SqlDataAdapter(str, con);
SqlCommandBuilder sqlcmd = new SqlCommandBuilder(da);
int total= da.Update(ds, "table");
ds.AcceptChanges();
这里
da.Fill(ds, "table");
da.Update(ds, "table");
da.tables("table") 的内容根本没变
"insert into Class values('王二','yuwen','80');" +
"insert into Class values('王二','','80');" +
"insert into Class values('王二','yingyu','80');" +
"insert into Class values('王二','wuli','80');";
da = new SqlDataAdapter(str, con);
改成:DataRow dr =ds.Tables["table"].NewRow();dr["姓名"]="王二";
dr["课程"]="shuxue";
dr["成绩"]="80";
ds.Tables["table"].Rows.Add(dr);
SqlCommandBuilder sqlcmd = new SqlCommandBuilder(da);
da.InsertCommand = cmd.GetInsertCommand();
da.Update(ds, "table");