如题
解决方案 »
- quickrep预览双击打印按钮出现很异常的报错,请问怎么解决?送100分
- 1000分求playicq.com上黄金帐号一用,在先等。。。。。
- 我写的代码有错误么,请高手指教
- 如何在一个存储过程中调用另一个存储过程,共用同一个参数?在线.....
- 关于MS的mediaplayer控件的一个问题
- 请问如何得到memo总的行数?
- 我想做一個計時器,比如時間一到5:00它就提示我下班了.這樣的代碼怎么寫.謝謝.
- 关于用其它程序调用Delphi的MIDAS的问题
- 500分求解!!!!!!!!!!控制左右声道的控件或源码.
- delphi中的null怎么表示??在C中可以这样A=Null;
- TPanel界面效果如何实现??
- 往SQL数据库插入行的问题
如 : '''' 就是单引号2。也可用QuotedStr()函数给字符窜加引号
如 str := 'select * from userinfo where name = ' + QuotedStr('aaa');
begin
Close;
SQL.Clear;
SQL.Add('SELECT Name FROM Information WHERE FirstName = ''' + edt_fn.Text + ''' AND Favorite = ''Delphi'' AND MAN = ' + edt_man.Text);
Open;
end;字段 FirstName char(12); Favorite char(15); MAN bit;
begin
Close;
SQL.Clear;
SQL.Add('SELECT Name FROM Information WHERE FirstName = '+''' + edt_fn.Text + '''+'AND Favorite ='+'''+Delphi+''' AND MAN = ' + edt_man.Text);
Open;
end;
情况1
在delphi里字符串类型两边加''坯布'' 这样拼出的是'坯布'表示一个字符串
而在query里,因为两边没有'...' 正常写'坯布'情况2
在delphi里变量这样写'''+edit1.Text+''',就是把edit1.Text的内容加上string类型的标示符。 而在delphi中'''才拼出一个'是因为两边有'........'影响。
如 sql1:='select * fromchuku_table where'+fieldbyname('ziduanmc1').asstring+''+fieldbyname('tiaojian1').asstring+''+fieldbyname('zhi').asstring+''; 这是符串型相加合,所以变量不用考虑'的问题,就直接拼情况3下面是变量加两个%后组成的字符 ''%'能拼出'%
('select * from qq_table where truename like ''%'+edit1.text+'%''') ;
' from PspStockMoveCong a join PspStockMove b on a.Key_id=b.Key_id'+
' where b.Shop_id='''+ShopID+''' and b.St_id='''+StID+''''+
' and ((a.Goods_id like '''+'%'+trim(Edt_Find1.Text)+'%'+''') or (a.Goods_barcode like '''+'%'+trim(Edt_Find1.Text)+'%'+'''))'+
' and b.operate_date>='''+FormatDateTime('yyyy-mm-dd hh:mm:ss ',DTP_BeginDiaoBo.Datetime)+''''+
' and b.operate_date<='''+FormatDateTime('yyyy-mm-dd hh:mm:ss',DTP_EndDiaoBo.Datetime)+''''+
' Group by a.Goods_id,a.Goods_barcode,a.Goods_name) c'+
' left join GoodsInfo d on c.Goods_id=d.Goods_id'如果对这个引号不好把握:可用Format()函数;
如:
SqlStr:=SqlStr+Format(' select * from [%S].[%S].[%S].[%S] b',[Local_Server,Local_DB,Local_User,TableName]);
1.sqlstr:='select * from tablename where columnName='+quotedstr('valuesString');
2.sqlstr:='select * from tablename where columnName='+#39+'valuesString'+#39;
3.sqlstr:=format('select * from tablename where columnName=''%s''',['valuesString']);
如 : '''' 就是单引号
也可用#39来替代.
''字串''代表一组单引号
eg:ADODataSet.Commandtext := 'select * from table where field=' + QuotedStr('value');
sq:=Format(sq,['张三',北京]);
sq:=Format(sq,[QuotedStr('张三'),QuotedStr('北京')]);
+ #39 + tmp_str + #39
如 : '''' 就是单引号
也可用#39来替代.
''代表一个单引号
''''也代表一个单引号
quotedstr()
''''
.....
如:
sql:='select a,b,c from table where a='''+edti1.text+''''
編繹後:
select a,b,c from table where a='abc' //abc是edit1.text的值。
比如 ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 网络用户表 where 姓名=:fname');
ADOQuery1.Parameters.ParamValues['fname']:='张三';
ADOQuery1.Open;
query1.close;
query1.sql.clear;
query1.sql.add(' select * from 学生信息表');
query1.SQL.add(' where LastName='''+edit1.text+'''');
query1.Prepare;
query1.open;
except
showmessage('...');
end;
如果是 12'3 要写成字符串那么应该是 '12''3'
用 QuotedStr 容易读,但是,也存在问题,比如12'3 这样的字符串要传递给 QuotedStr 还得写成 QuotedStr('12''3') ; 你只要搞懂单引号的意思就行了,不一定要用QuotedStr
s := 'select * from dept where deptcode like ''' + id + '%''';结果是:select * from dept where deptcode like '1012%'
我总结了一下一共有三种方法:
1.使用''来用
例:'select * from tablename where id='''+id+'''';
2.使用#39
例:'select * from tablename where id='+#39+id+#39;
3.使用QuotedStr:
函数原形:function QuotedStr(const S:string):string;
例:'select * from tablename where id='+QuotedStr(id);
怎么加的?
能不能告诉我怎么加呀?
谢谢!!!
2 '''
3 #39
说来说去,就这三种
delphi:'where name=''aa'''
我一直用这两个的。
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('select * from table1 where id='''+edit.text+'''');
adoquery.open;SQL中:
select * from table where id in('0001','0006')
2、''内容'' ='内容'
3、QuotedStr(内容)函数 ='内容'
CSDN真是堕落了……
如 : '''' 就是单引号2。也可用QuotedStr()函数给字符窜加引号
如 str := 'select * from userinfo where name = ' + QuotedStr('aaa');
这个答案最好
QuotedStr()
QuotedStr()
QuotedStr()
''' '''
#39++#39
用 QuotedStr 吧````````````
adoquery1.SQL.Add('select * from 表1 where 客户 like '''+'%'+edit2.text+'%''');
adoquery1.Open;
dbref();
建議建立個數據庫, 將所有能夠在delphi里怎么打sql的单引号的答案保存起來,
方便子孫萬代來查詢啊!!!
國為樓上的精英們回答太完美了!
这个可以写成
'select * from userinfo where name = '''aaa''''吗????
搂主,解决了就揭贴啊,未必还没想要的答案?