关于在.NET 代码文件里Sql语句到底怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/21 04:58:17
string sqlstr="DELETE FROM TeacherInfo WHERE TeacherID='+1+'";
这个对不对

每种语句给个例子吧
比如delete、insert、select、update等

为什么看到别人的语句总有 一些符号@ ""& "" 或者""+"" 有时候是单引号,有时候是两个双引号,写sql语句的规范是什么?

可能说起来有点麻烦,有没有现成的文章?

谢谢!
暂时先给15分吧,满意一定追加分的。谢谢!
是C#

'的情况:数据库里是字符型或者时间类型的值,用=的时候,如
select * from user where name = '名字'

好,如上是条sql语句
如果那在程序里作为字符串 sql = "select * from user where name = '名字' "
程序里的常量字符串都用""引起来 如 a = "常量" + 变量 + "常量" + "常量" + 变量 + 变量

如果上面(sql)的名字需要用变量来代替,就变成sql = "select * from user where name = '" + 变量 + "' "

如果sql里有特殊符号,就用转义 sql = @"select * from user where name = '" + 变量 + "' "

拼字符串
String tId=10;
String sql="DELETE FROM TeacherInfo WHERE TeacherID= '"+tId+"'";
其实就是string sql = ""+参数+""+参数+"",因为他char类型的要用‘’包起来,所以往往出现"...= ' "和" ' "这样的情况

by the way
其实不推荐拼字符串的,用?,?代替要用到的参数,然后set值进去,找个API什么的看一下吧,.net记的不多了
拼字符串会被人攻击的
比如刚才传进去的tid,如果是从客户端接受的话,如果客户输入的是随意的不存在的值,本来是删不掉记录的,但是他后面加上 or 1=1' --,那么你的表就被整个删掉了
传到SQL的语句