關於sql語句的參數
1楼: sql.add(‘select * from table001 where field1=‘‘‘+你好+‘‘‘‘)
sql語句帶入參數我習慣用上面這種方法
但也有另外的方法
sql.add(‘select * from table001 where field1=:aa‘);
ParamByName(‘field1‘).AsString:=你好;
這幾天還看見一種format的用法,忘記怎麼寫得了
高手們,給我說說這三種的區別吧,尤其是前兩種,各有甚麼優缺點? 字串8 2楼: 第一种是完全动态的,每次SQL要在数据库端重新编译
第二种不是,如果你只改变参数不改变SQL,那么它只编译一次,以后按授受的参数执行
第三种是第一种的翻版,为了程序更可读 字串7 3楼: 這個編譯,就是檢查語法得用處?
後果就是第一種速度慢一些?
編譯一次是指?如果我點一個按鈕兩次,那第二次得點擊事件裡面的sql語句就不編譯? 字串6 4楼: to ysai
再說仔細點好麼
TO ALL
我基本理解一大半了,剩下的怎麼沒有人回答我阿
沒人理我,自己頂一下吧 字串2 5楼: 我來寫一個
const
SQL = ‘select * from table001 where field1=%s‘;
SQL.Add(Format(SQL, #39 + ‘你好‘ + #39); 字串8 6楼: to duanhai:
老大,我是要象ysai那样的解释,理论的,不是要问怎么写,写我也会阿
不过还是感谢你帮我顶了一下
字串3
7楼: 就是说第一种是知道要做的事情,而且知道你要输入的参数的具体值, 并且这种值一般是不会变化的,如果变化了那你的程序就要再进行编译 生成可执行程序了. 如sql.add(‘select * from table001 where field1=‘‘‘+你好+‘‘‘‘), 当不再是“你好“,而是“晚安“之类的时候你就要再编译一次源程序了. 而第二种是变量型的,也就是说如果你的“你好“,“晚安“之类的是来自于外部 的数据,比如来自于一个文本文件,而你使用以下语句: sql.add(‘select * from table001 where field1=:aa‘); ParamByName(‘field1‘).AsString:=读取文本文件后的变量; 那么就不需要再重新编译了,因为源代码并没有改变. 实际上在编程中为了以后的可操作性和可维护性,经常需要这样子做.字串7
8楼: 多人接受答案了。字串5
9楼: 那我想问一下,如果不是在SQL语句中呢,变量的引用有几中方法??字串9
上一篇:有关HINT的问题 下一篇:创建IIS站点的问题。