50分求帮忙,为什么在把dataset表update数据库表时候说表对象名无效?看下面代码谢谢 DataSet ds1 = new DataSet();da.Fill(ds1,"result"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 da.Fill(ds1,对应的数据库表名);或者在后面加上ds1.Tables[0].TableName = 对应的数据库表名; DataSet ds1 = new DataSet("result");我觉得这个有问题,DataSet ds1 = new DataSet();这样就行了,后面的fill会把你查询到的内容填充进去的。 to 小三哥我用的是.net2003,我datagird显示也没问题,就是执行到update时候不行了 da.Update(ds1,"result");还有,建议你不要select *,把要用的列都select出来,保证数据库的列与文本文件的字段对应。 数据库中有result这个库么???出错信息是说这个对象名无效。 这种方法试过也不行。还是对象名“result”无效我数据库表是空的,文本里的每行字段的个数不一样啊如:1 2 ---> 5 22.22% 50.00%1 ---> 2 5 22.22% 33.33%1 5 ---> 2 22.22% 100.00%2 ---> 1 22.22% 28.57% 我用的是sqlserver,通常报这个错的,是数据库的列名或是库名不存在 to 妮妮有这个result表,是空的 DataSet ds1 = new DataSet("result");你这样写的话...不对的.你怎么能这样呢?? 你要声明一个dataTable 的对象. dataset ds1=new dataset(); da.fill(ds1,"result"); datatable mytable= mew datatable(); mytable=ds1.tables("result"); TO 耀:这中写法是多余的,问题不在这里,dataset里面的ruslt表已经填了,能够在datagrid显示啊, DataSet ds1 = new DataSet();改成这样 to 三哥:不会把,都叫result,这能搞错?呵呵, 我数据库result表有十个字段,除了第一个是int类型,其他都是varchar,就这样,空表。列需要对应吗? 需要对应,如果插入时有些列不想添可以不添,但一定要与更新的dateset中的列一一对应,顺序也要对,列数目也要对,你的文本文件每行取值数目不同的话是不行的。 我设计的数据库表里字段是固定的,比如是10个字段,而且在填之前清空了。从文本里读进去的时候,表里面有的行可能只填充了1个字段,有的填充了3个字段,等等。这样为什么不行呢?可为什么dataset里面的表就行呢? 我做过这样类似的功能,不同的是我并没有直接修改dataset,而是用另一个dataset填充好数据以后,用merge方法合并,如下myDs.Merge(ds);myAdapter.MissingMappingAction=MissingMappingAction.Passthrough;第二句可以保证即时列不对应也不会出错,事实证明是可行的,但我是select了需要的列,第二个dataset的列没有我select出来的多,你试一下 DataSet ds1 = new DataSet();da.Fill(ds1); 然后da.Update(ds1);其它交给系统来处理估计就可以了吧 dataset表中的数据不像数据库中有那么多的约束条件.默认不会判断空与不空 存到表里的格式跟文本一样,也就是靠左填充,右边的字段会出现空值id 字段1 字段2 字段3 字段4 字段5 字段6 字段7 。1 1 2 --> 5 22.22% 100%2 2 --> 5 22% 100%............... 关于类CollectionBase的一点 读取Excel 2010中的数据,出现问题? 求一个文件上传方法,保存到数据库中 奇怪的IO异常 关于System.Timers.Timer 怎样得到datagridview所选择行的内容啊 请问大家这一在C#里有JAVASCRIPT怎么改, 巨菜的问题!!! 请问一下HTTPWEBREQUEST 可以指定IP 访问吗? Windows 下修改DLL(Exe)的版本号信息 DateSet问题,我想将某列中相等的行对应的值加起来……谢谢先~ 升了一个小三角,高兴散分,顶者有分哦!
或者在后面加上ds1.Tables[0].TableName = 对应的数据库表名;
还有,建议你不要select *,把要用的列都select出来,保证数据库的列与文本文件的字段对应。
如:
1 2 ---> 5 22.22% 50.00%
1 ---> 2 5 22.22% 33.33%
1 5 ---> 2 22.22% 100.00%
2 ---> 1 22.22% 28.57%
有这个result表,是空的
dataset ds1=new dataset();
da.fill(ds1,"result");
datatable mytable= mew datatable();
mytable=ds1.tables("result");
这中写法是多余的,
问题不在这里,dataset里面的ruslt表已经填了,能够在datagrid显示啊,
就这样,空表。列需要对应吗?
从文本里读进去的时候,表里面有的行可能只填充了1个字段,有的填充了3个字段,等等。这样为什么不行呢?可为什么dataset里面的表就行呢?
myDs.Merge(ds);
myAdapter.MissingMappingAction=MissingMappingAction.Passthrough;
第二句可以保证即时列不对应也不会出错,事实证明是可行的,但我是select了需要的列,第二个dataset的列没有我select出来的多,你试一下
da.Fill(ds1);
然后
da.Update(ds1);
其它交给系统来处理估计就可以了吧
id 字段1 字段2 字段3 字段4 字段5 字段6 字段7 。
1 1 2 --> 5 22.22% 100%
2 2 --> 5 22% 100%...............