| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 695 人关注过本帖
标题:DataSet为什么不能更新到数据库中?
收藏  订阅  推荐  打印 
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19
DataSet为什么不能更新到数据库中?

private void button1_Click(object sender, EventArgs e)
{
try
{
string sqlconn = "server=" + textBox1.Text.Trim() + "\\SQLEXPRESS;database=VoltageMessage;uid=sa;pwd=666666";

SqlConnection conn = new SqlConnection(sqlconn);
//SqlConnection conn1 = new SqlConnection("server=localhost\\SQLEXPRESS;database=VoltageMessage;uid=sa;pwd=666666");
SqlConnection conn1 = new SqlConnection("server=.\\SQLEXPRESS;database=VoltageMessage;uid=sa;pwd=666666");
string sqlstr1="select * from MessageScout";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlstr1, conn);
da.Fill(ds, "MessageScout");
DataSet ds1 = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter(sqlstr1, conn1);
da1.Fill(ds1, "MessageScout");
ds1.Merge(ds, true);

dataGridView1.DataSource = ds1.Tables[0];

SqlCommandBuilder sb = new SqlCommandBuilder(da1);

da1.Update(ds1, "MessageScout");
ds1.Tables[0].AcceptChanges();



MessageBox.Show("更新成功!");

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

执行成功,可数据库根本就没有更新和新数据插入!

[此贴子已经被作者于2007-9-29 13:58:01编辑过]

搜索更多相关主题的帖子: 数据库  DataSet  pwd  database  
2007-9-29 13:46
shen521941
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:414
积分:4248
注册:2006-12-1

你调试下,看 SqlCommandBuilder 的sql是什么

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-9-29 14:02
smofbao
Rank: 2
等级:注册会员
帖子:132
积分:1424
注册:2006-4-5

你就只写了一句SQL语句是选择select * from MessageScout
你想更新,应该写更新,插入的SQL语句
并把这些SQL语句
要实例3个SqlCommand 分别与SqlDataAdapte的selectCommand insertCommand 等赋值
实例的时候,要相应SQL语句
在用SqlDataAdapte.Update();
就能添加 修改 删除了

2007-9-29 14:07
shen521941
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:414
积分:4248
注册:2006-12-1

不用吧,我以前就直接实例一个SqlCommandBuilder就可以了,他能自动拼sql的

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-9-29 14:10
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19

以下是引用smofbao在2007-9-29 14:07:10的发言:
你就只写了一句SQL语句是选择select * from MessageScout
你想更新,应该写更新,插入的SQL语句
并把这些SQL语句
要实例3个SqlCommand 分别与SqlDataAdapte的selectCommand insertCommand 等赋值
实例的时候,要相应SQL语句
在用SqlDataAdapte.Update();
就能添加 修改 删除了

不用这样麻烦的,直接就可以Update()的。
以前我从XML中读入到数据库就直接Update()就可以!具体可以在我的博客里看得到:http://xxp5310776.blog.sohu.com/64284287.html

[此贴子已经被作者于2007-9-29 14:18:38编辑过]


2007-9-29 14:15
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19

以下是引用shen521941在2007-9-29 14:02:39的发言:
你调试下,看 SqlCommandBuilder 的sql是什么

怎么再调试里看sql语句?


2007-9-29 14:16
shen521941
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:414
积分:4248
注册:2006-12-1

选中对象点右键 监视 ,然后你就看里面的值

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-9-29 14:27
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19

UpdateCommand为NULL
InsertCommand为NULL
其它也是为NULL,该如何处理?

2007-9-29 14:33
shen521941
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:414
积分:4248
注册:2006-12-1

那就是没传进去更新,插入sql,我也不知道你怎么操作的,你找下资料看下,我在工作,只能指导到这里

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-9-29 14:35
guoxhvip
Rank: 12Rank: 12Rank: 12
来自:聖西羅南看臺
等级:版主
威望:36
帖子:3954
积分:39108
注册:2006-10-8

用SqlDataAdapter就可以解决增、删、改、查

愛生活 && 愛編程
2007-9-29 15:19
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.056011 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved