首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问参数化查询的有关问题

2012-09-28 
请教参数化查询的问题C# code比如string sql select * from tbTest where colA@ID,colB@Name或stri

请教参数化查询的问题

C# code
比如string sql = "select * from tbTest where colA=@ID,colB=@Name";或string sql ="update tbTest set colB=@Name,colC=@Sex where id=@ID";想把参数写到数组里,当做参数传递,如何实现呢?OleDbParameter[] paramArray = new OleDbParameter[??];  //这里的count,怎么动态获取paramArray[0] = new OleDbParameter("@ID",5);paramArray[1] = new OleDbParameter("@Name","张三");这里怎么用循环 完成这个参数数组元素的初始化,而不是和上面那样


[解决办法]
用List<OleDbParameter>和其Add方法
[解决办法]
用数组就不能动态获取你的count啊。
想要赋值,用循环不实际,毕竟@id,@name这些是无法用循环完成的。除非你有另外一个数组,假设你有了一个LIST,存放着,【@id,5】,【@name,张三】,【@sex,男】这类信息,那么这样就很简单生成你想要的赋值循环了。但是有了这个list还需要其他东西么?
[解决办法]
C# code
OleDbParameter[] paramArray = new OleDbParameter[]{new OleDbParameter("@ID",5);new OleDbParameter("@Name","张三")};
[解决办法]
好像你这样做会很麻烦
[解决办法]
我觉得楼主你想:根据传入的 SQL 自动判断有多少个参数吗?

根据你的代码,5 和 张三 是哪来的?如果封装成一个方法,那 5 和 张三 一定是作为 object[] 参数传进来的,对不对?如果是传进来的,那参数的个数自然就知道了呀。

热点排行