C# update方法更新数据库
C#用update方法更新数据库时,内存表为datatable,更新结果不是将数据库修改成datatable的值,而是保留数据库原值,同时将datatable中的值Ins...
C#用update方法更新数据库时,内存表为datatable,更新结果不是将数据库修改成datatable的值,而是保留数据库原值,同时将datatable中的值Insert进数据库了,求方法,更新数据库值而不是Insert
connection.Open();
MySqlCommand command = new MySqlCommand();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
command.CommandText = sqlString;
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
adapter.SelectCommand.Connection = connection;
adapter.Update(datatable);//关键语句,执行更新数据集,更新数据库语句
adapter.Dispose();
connection.Close(); 展开
connection.Open();
MySqlCommand command = new MySqlCommand();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
command.CommandText = sqlString;
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
adapter.SelectCommand.Connection = connection;
adapter.Update(datatable);//关键语句,执行更新数据集,更新数据库语句
adapter.Dispose();
connection.Close(); 展开
6个回答
推荐于2017-08-29 · 知道合伙人互联网行家
正青春梦飞扬
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:6837
获赞数:306021
对SEO有这独特见解 工作努力积极、团结同事 连续2个月个人工作完成优秀 客户0投诉 评委最佳班组经理
向TA提问 私信TA
关注
展开全部
使用方法:
string delStr = "update Users set UserPassword = '"+ textBox2.Text +"',UserSort='"+textBox3.Text+" ' where UserID = " + textBox1.Text ;
int ni= mycom.ExecuteNonQuery();
if(ni>0)
{
MessageBox.Show("修改成功", "提示");
}
else
{
MessageBox.Show("修改失败", "提示");
}
UPDATE语句用于更新修改指定记录的数据,对符合条件的记录,更新修改指定字段的值。若没有WHERE条件限定,则对所有记录进行更新修改。
string delStr = "update Users set UserPassword = '"+ textBox2.Text +"',UserSort='"+textBox3.Text+" ' where UserID = " + textBox1.Text ;
int ni= mycom.ExecuteNonQuery();
if(ni>0)
{
MessageBox.Show("修改成功", "提示");
}
else
{
MessageBox.Show("修改失败", "提示");
}
UPDATE语句用于更新修改指定记录的数据,对符合条件的记录,更新修改指定字段的值。若没有WHERE条件限定,则对所有记录进行更新修改。
展开全部
那你就不要写更新啊
你就写成加载的就可以了
你一定要清楚,更新时,就是把内存表中的值,更新到数据库的
如果,按照你的意思,应该就是,重新,从数据库中读取值,加载一下就可以了。
你就写成加载的就可以了
你一定要清楚,更新时,就是把内存表中的值,更新到数据库的
如果,按照你的意思,应该就是,重新,从数据库中读取值,加载一下就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以前也遇到这个问题,没有深入解决,
后来曲线救国的做法是
//先新建一个空datatable
datatale dtdatatable1=new datatable();
//将datatable中的记录复制到datatable1中
datatable1.Merge(datatable);
//将datatable表中记录全部删除,只能用row.delete,用datatable.clear()
//等其他的都不行
foreach (DataRow row in datatable.Rows)
{
row.Delete();
}
//然后将datatable1中的记录复制回datatable1中
datatable.Merge(datatable1);
//然后再update应该可以了
期待高手
后来曲线救国的做法是
//先新建一个空datatable
datatale dtdatatable1=new datatable();
//将datatable中的记录复制到datatable1中
datatable1.Merge(datatable);
//将datatable表中记录全部删除,只能用row.delete,用datatable.clear()
//等其他的都不行
foreach (DataRow row in datatable.Rows)
{
row.Delete();
}
//然后将datatable1中的记录复制回datatable1中
datatable.Merge(datatable1);
//然后再update应该可以了
期待高手
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
datatable.Rows[i].SetModified
使用DataTable 更新的时候,你要知道DataTable的 RowState 为
Add 还是Modify 你那里肯定是为Add了所以Update方法才会调用
Insert,要其RowState为Modify才会调用Update.
使用DataTable 更新的时候,你要知道DataTable的 RowState 为
Add 还是Modify 你那里肯定是为Add了所以Update方法才会调用
Insert,要其RowState为Modify才会调用Update.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string commsql = "update表名 set 要修改的东西 where 条件;
MySqlCommand comm = new MySqlCommand (commsql, Class_lianjie.conn);
comm.ExecuteNonQuery();
comm.Clone();
Class_lianjie.conn是什么你知道吧
MySqlCommand comm = new MySqlCommand (commsql, Class_lianjie.conn);
comm.ExecuteNonQuery();
comm.Clone();
Class_lianjie.conn是什么你知道吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询