能不能把DataSet 中的数据直接保存至数据库

jxnetinfo 2005-09-13 08:39:54
客户端传入一个DataSet,我在服务器端如何把DataSet 中的数据直接保存至数据库,不用自己自己写Sql语句 一条一条的保存数据,能不能用SqlAdapter.Update()来实现
...全文
233 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
syeerzy 2005-09-14
  • 打赏
  • 举报
回复
UpdateCommand,InsertCommand,DeleteCommand都没定义呢?????

可以借助可视化工具生成,但是这些缺少任何一个都“可能”造成更新不成功。缺少3个那就“一定”更新不成功了。

jxnetinfo 2005-09-14
  • 打赏
  • 举报
回复
表有主键, 这样试过还是不行,没增加任务数据,执行也没报错
private void InsertData(DataSet ds)
{
DataSet bb = new DataSet();
string onnection = "packet size=4096;user id=sa;password=;initial
talog=AsapTest;data source=FB-TRADE-HJB\\EbookMSDE; pooling=true";

string QueryString = "select * From System_UploadTable where 1<>1 " ;

using (SqlDataAdapter Ada = new SqlDataAdapter(QueryString,onnection) )
{
SqlCommandBuilder sqlBuild = new SqlCommandBuilder(Ada);

Ada.Fill(bb,"System_UploadTable");
bb.Merge(ds);
Ada.Update(bb,"System_UploadTable");
}
}
wtk13 2005-09-14
  • 打赏
  • 举报
回复
你要在数据库里设置一个blob大字段,然后把dataset序列化存到blob大字段中.
jintao0405 2005-09-14
  • 打赏
  • 举报
回复
昏,看看你自己写的SQL语句 select * From System_UploadTable where 1<>1 ,你在查询分析器执行看看,不为空才怪
条件是1<>1,当然永远为空了
LGame 2005-09-14
  • 打赏
  • 举报
回复
你的DATASET里面必须要有主键,

就是说SELECT的表里必须要有主键才可以的

不行加上一句
OleDbCommandBuilder oleBuild =new OleDbCommandBuilder(SqlAdapter);

SqlAdapter.Update(dataset,"别名");

你这样试试

jxnetinfo 2005-09-14
  • 打赏
  • 举报
回复
我是这样写的,但不行,你们看看有没有其它办法
private void InsertData(DataSet ds)
{
DataSet bb = new DataSet();
string onnection = "packet size=4096;user id=sa;password=;initial catalog=UserTest;data source=FB-TRADE-HJB\\EbookMSDE; pooling=true";

string QueryString = "select * From System_UploadTable where 1<>1 " ;
try
{
using (SqlDataAdapter Ada = new SqlDataAdapter(QueryString,onnection) )
{
Ada.Fill(bb,"System_UploadTable");

bb.Merge(ds);
//bb = bb.GetChanges(DataRowState.Added); //执行此行为出错 ,bb=null
Ada.Update(bb);
}
}
catch(Exception Er)
{
MessageBox.Show(Er.Message);
}

}
jxnetinfo 2005-09-14
  • 打赏
  • 举报
回复
有没有代码,我试过,update之后没增加任何数据
jxnetinfo 2005-09-14
  • 打赏
  • 举报
回复
试过了,有了
SqlCommandBuilder sqlBuild = new SqlCommandBuilder(Ada);
就可以不用 定义 UpdateCommand,InsertCommand,DeleteCommand
测试通过,散分:)
  • 打赏
  • 举报
回复
能 啊 ,绑定就行了



=================================================================
角落里的理想
http://blog.csdn.net/zdsdiablo/
--------十分钟年华老去
=================================================================
jxnetinfo 2005-09-14
  • 打赏
  • 举报
回复
不用定义 UpdateCommand,InsertCommand,DeleteCommand, 因为是先查询后 Ada.update,Updater 的操作可以由 Ada自动完成
zhanghw20030303 2005-09-13
  • 打赏
  • 举报
回复
当然可以了
benzite 2005-09-13
  • 打赏
  • 举报
回复
可以的

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧