c# 窗体上输入sql语句,如何判断是否正确

问题不让用查询分析器来判断,自己写方法来判断是否有语法错误

把输入的sql语句传给 sqlcommand的执行命令sql语句。如果系统能正常运运行,就代表正确,出现数据库方面的错误就代表错误,使用try-catch 语句去做,不然真是错误,你也不知道到底是自己写错了还是sql语句错了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-01
具体要看什么sql,
如果是select语句,那可以使用SqlCommand+try来测试,因为不涉及到数据的更改。
如果是其他语句,最好使用SqlTransaction+try来测试,以方便回滚。
在做这些语句的测试时,最好不要用sa来连接SQL。
你可以根据需要,针对数据表创建一些用户,赋予相应的权限。
这样,即使sql语句超出了权限范围,也会被try出来。
第2个回答  2008-08-01
把sql语句放在sql server 查询分析器里执行,看是否正确,正确说明sql语句没问题
第3个回答  2008-08-01
同意楼上说的
第4个回答  2008-08-01
最后先去掉try 和catch ,那样可以看见出什么错误。。。

c# 窗体上输入sql语句,如何判断是否正确
把输入的sql语句传给 sqlcommand的执行命令sql语句。如果系统能正常运运行,就代表正确,出现数据库方面的错误就代表错误,使用try-catch 语句去做,不然真是错误,你也不知道到底是自己写错了还是sql语句错了。

如何在C#中检查sql语句的语法正确性
如果你想要知道SQL对不对,直接用数据库工具(如sqlserver management、navicate)跑一下它不就行了?你从数据库工具的错误消息中就能检查出你SQL语句的错误了 或者你也可以使用ORM(如EF),使用LINQ来构建SQL语句,LINQ的语法错误是容易被VS检测出来的 ...

C#中验证sql语句是否正确(不执行语句)
检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。SET PARSEONLY { ON | OFF }当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句。当 SET PARSEONLY 为 OFF 时,SQL Server 编译并执行语句。SET PARSEONLY 的设置是在分析时设置,而不是在执行或运行时设置。在存储过程或...

C# SQL语句判断是否存在!简单问题!哪个兄弟帮指点下!
BEGIN --这里是你的查询逻辑2 END 像你那种写法从程序逻辑上讲是逃避了正面问题。如果只是要判断是否存在的话 查询逻辑1:SELECT 1 查询逻辑2:SELECT 0 然后SqlCommand执行ExecuteScalar(),返回第一行第一列的值(object类型)然后再Convert.ToBoolean(object)得到的是bool值,true就存在,false就不存在...

C#创建的窗体,用SQL语句查询学生信息,输出结果不对啊,初学者请大神指教...
string studentNo = comboBox1_StuNo.ToString(); 这个不对吧 string sql = String.Format("SELECT * From StudentMsg where StudentNo= comboBox1_StuNo.Text", studentNo);这个也不对啊..."SELECT * From StudentMsg where StudentNo= '"+comboBox1_StuNo.Text+'""这样 ...

...用户输入的任何sql语句,C#判断是查询还是更新语句
是要考虑输入的安全性检查吧,这个,要对str做一系列的关键字识别,不能只识别update 包括into alert insert等所有命令类关键字,还有dbo master等越权操作的关键字,都有进行拆分过滤。另外,最好给这个操作一个单独的用户和角色,这个角色只读并限定访问的数据库和表 ...

c#判断用户名密码是否正确
界面输入之后,然后通过sql语句从数据库里面去查,如果返回结果不为空,就代表用户和密码正确,如果返回空 就代表错误

怎样在C#中写一句SQL语句,判断数据库中的一个日期对比系统当前日期是 ...
过期的话应该是表里的时间小于当前时间 select * from tablename where time < getdate()看看查询结果就知道了

C#连接到SQL,提示: 行 26: SqlDataReader rd = cmd.ExecuteReader...
Request.QueryString["bookid"].ToString();这个字符串里面包含字母或特殊字符了可能。因为 【("@BOOKID",SqlDbType.Int).】看起来应该是一个数值型的值。所以在执行语句时发生错误。

c#判断是否弹出对话框
SqlConnection conn =new SqlConnection(connString);string sql=insert into ...;\/\/插入语句 SqlCommand command=new SqlCommand(sql,conn);int result=command.ExecuteNonQuery();\/\/得到结果,看是否有插入成功。if(result>0){ MessageBox.Show("插入成功!");\/\/返回影响的行数大于0表示插入成功 } e...

相似回答
大家正在搜