求根据DataTable内容自动生成SQL语句,实现对数据库的修改和插入

tank_2009 2009-08-19 11:19:33
比如从数据库中查询到一些数据,存入datatable中,
当程序对datatalbe中一些记录进行修改后,被修改的记录存入另一个UpdataDataTable中

此时将UpdataDataTable传入后台方法,后台方法根据中的记录生成相应UPDATE语句,应该怎样实现呢?

我现在是通过循环UpdataDataTable中每一行,第一列来构建SQL语句,但是这样的方法不够通用比如

update tb1 set name = 'zhangsan', age = '19' where id = 'x'

如果age字段类型为整型,则SQL语句就会报错.
...全文
373 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tank_2009 2009-08-20
  • 打赏
  • 举报
回复
谢谢各位。
dancingbit 2009-08-19
  • 打赏
  • 举报
回复
有对应的OracleCommand类、OracleParameterCollection和OracelParameter类。
SQL77 2009-08-19
  • 打赏
  • 举报
回复
STRING SQL ="update tb1 set name = '"+TEXTBOX1.TEXT+"', age = "+TEXTBOX2.TEXT+" where id = 1" ;...


最后弄成这种效果应该可以了
tank_2009 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dancingbit 的回复:]
SqlCommand类有个SqlParameters属性,这是一个参数集合,在命令文本中指定参数,将参数添加到此参数集合中。因为参数可以指定类型,这个问题就完全不是问题了。
[/Quote]

如果是使用oledb或ORACLEclient的话,又应该怎么做呢?
dancingbit 2009-08-19
  • 打赏
  • 举报
回复
这样说可能比较抽象,可以到MSDN中查看SqlCommand类、SqlParameterCollection类(就是SqlCommand类中Parameters属性的类型,上面写错了)和SqlParameter类(每一个参数的具体类型)的说明,有例子代码的。
SQL77 2009-08-19
  • 打赏
  • 举报
回复
使用参数连接,不会有问题
dancingbit 2009-08-19
  • 打赏
  • 举报
回复
SqlCommand类有个SqlParameters属性,这是一个参数集合,在命令文本中指定参数,将参数添加到此参数集合中。因为参数可以指定类型,这个问题就完全不是问题了。
tank_2009 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dancingbit 的回复:]
使用参数的话,就不会出错。
[/Quote]

感谢指点,能再详细一些吗?
tank_2009 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zjb211434 的回复:]
age为整型当然报错了,datatable里面的列不是有类型的吗?你可以根据类型来生成sql语句啊
[/Quote]

这样程序判断感觉程序会比较复杂..有另的方法吗?
dancingbit 2009-08-19
  • 打赏
  • 举报
回复
使用参数的话,就不会出错。
zjb211434 2009-08-19
  • 打赏
  • 举报
回复
age为整型当然报错了,datatable里面的列不是有类型的吗?你可以根据类型来生成sql语句啊

111,097

社区成员

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

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

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