SQL语句在Delphi中的使用规则
来源:互联网 发布:什么是网络安全意识 编辑:程序博客网 时间:2024/05/16 14:20
1:' 是 Pascal 的字符串定界符
问:请教
ADOQuery1_adduser.SQL.Text:='insert into person(p_name,pwd,loginlevel) values ()';
后面的()中我要加入几个变量,应该怎么写啊?
ADOQuery1_adduser.SQL.Text:='insert into person(p_name,pwd,loginlevel) values (Var1,Var2,Var3)';
这样对吗?
答:
错。数据库 并不能理解 Delphi源码中声明的变量var1、var2。
应该先把SQL语句当成普通字符串来处理,也就是说 你要作些串连接操作 把这些字符串常量和变量 连成一个字符串当运行时,这个字符串操作的值 就是最终提交给数据集组件执行的SQL语句。
方案一:(这是最原始的做法)
'... values(''' + var1 + ''',''' + var2 + ''',''' + var3 + ''')'
问:这里为什么是三个'?
答:' 是 Pascal 的字符串定界符。如果要有字符串里表示一个',必须转义,也就是使用两个'。你所看到的三个'''其中必有一个是原本的定界符,左边的 或者 右边的。其他两个''一起构成最终字符串里的一个'。
问:这里不管这三个变量是什么类型,都这样写吗?如果前两个是string,第三个是integer?
答:只有对于字符串字段,才需要在SQL语句里对值加上引号'...'。数值 的 不要加。
如果第三个是Integer,那么:
'... values(''' + var1 + ''',''' + var2 + ''',' + IntToStr(var3) + ')'
方案二:使用QuotedStr:
'... values(' + QuotedStr(var1) + ',' + QuotedStr(var2) + ',' + IntToStr(var3) + ')'
方案三:(推荐方案)使用Format(),以提高代码可读性
sql.Text := Format('insert into ... values(%s, %s, %d)', [QuotedStr(var1), QuotedStr(var2), var3]);
- SQL语句在Delphi中的使用规则
- 在Delphi中动态地使用SQL查询语句
- SQL语句中的case when在access中的使用
- asp中的引号规则,在asp中如何书写sql语句
- Delphi : WebBrowser、MSHTML在Delphi中的使用
- GROUP BY在SQL查询语句中的使用
- Sql中的join on语句如何在Hql中使用
- 在Delphi中使用SQL语句插入包括时间日期的记录
- delphi 在 case 语句中使用字符串
- Delphi在case 语句中使用字符串
- Delphi在case语句中使用字符串
- ASP中的SQL语句使用
- sql语句中的函数使用
- SQL语句中的limit使用
- SQL语句优化规则
- sql语句的规则
- sql语句规则
- delphi 事务处理SQL语句
- [Sencha ExtJS & Touch] singletap 和 tap的区别
- 3、MySQL基本操作:存储引擎、数据类型-----第2篇
- Jetty--轻量级web server
- POJ 3784 Running Median
- 横竖屏切换
- SQL语句在Delphi中的使用规则
- 彻底删除Oracle的手顺
- iOS开发:不显示状态栏
- 【NOIP2013中秋节模拟】长方形
- maven:打包成可执行jar
- 欢迎使用CSDN-markdown编辑器
- C++ PAT - 1028. 人口普查(20)
- 牛根生:我为什么选择做慈善
- 图像处理期刊