您的位置:程序门 -> .net技术 -> c#



<经典> 开发==>模拟查询分析器


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


<经典> 开发==>模拟查询分析器
发表于:2007-01-15 01:26:16 楼主
模拟查询分析器(c#+ms-sql)
在winfrom里,我在一个文本框里输入sql语句(可以有多行语句,如:select   getdate()     print   'ok '   EXEC   sqlctrs_users   'dt_whocheckout_u '),点一下运行sql脚本,就会在另一个文本框或是datagirdview里出现执行出来的结果   ,而且能检查语法错误
我用的存储过程是这个
create       procedure       proout      
  @incode   nvarchar(4000)
    as      
  declare   @num   int
  EXEC   sp_EXECutesql   @incode,n '@a   nvarchar(4000)   output ',@num   output  
我现在用datagridview接收返回的数据,好像不能接多条sql语句的返回值
我返回的结果不能全部显示出来,不能检查错误

qq88981904     xiebinren1013@163.com
感谢各位提出宝贵的建议!希望   慕白兄   能光顾到这
发表于:2007-01-15 09:14:191楼 得分:0
顺路坐头铺
发表于:2007-01-15 20:10:192楼 得分:0
帮自己顶上去,来人呀,帮一下忙呀,各位大哥
发表于:2007-01-17 19:46:573楼 得分:0
各位牛人,到哪去了
发表于:2007-01-24 11:18:114楼 得分:0
找一找sqlserver的插件
发表于:2007-01-24 11:24:485楼 得分:0
脚本一般用;分号作一句结束  
所以,你用;作为分隔符,把它分隔到数组里,循环执行就ok了  
另一个就是模拟查询分析器,执行鼠标高亮选择的那一段  

检查,其实就是开始一个事务,然后执行脚本,最后事务回滚
如果出错,就是检查不通过了
发表于:2007-01-24 13:42:546楼 得分:0
楼上的
---------------------
检查,其实就是开始一个事务,然后执行脚本,最后事务回滚
如果出错,就是检查不通过了
---------------------
比较粗糙的模拟可以,如果执行脚本需的时间比较长,岂不是检查的时间相应比较长。
发表于:2007-01-24 15:00:567楼 得分:0
直接把字符串内容用excutereader   来执行不行么?   干吗要弄个存储过程?

excutereader   也可以执行update啊insert啊的,就是不返回结果而已.

建个事务,try-catch一下就判断出语法问题了,直接把错误信息输出给用户看,   这就模拟起来了,多方便,何苦搞那么多事....

而且reader可以有多个结果集,如果你的语句写了2个select还可以绑出2个datagirdview...


以上方式绝对可行,因为我已经试过了....   ^_^


快速检索

热门点击