读书人

请高手指一下异常在那里

发布时间: 2012-02-04 15:43:08 作者: rapoo

请高手指一下错误在那里,
databasename:='jiance1-1';
close;
sql.Clear;
sql.Add('select * from LCB where GCMC='+COMBOBOx1.Text);
execsql;


我运行后出现不能发现combobox1.text的字段。字段名称我设置的是GCMC

[解决办法]
sql.Add('select * from LCB where GCMC=''' + COMBOBOx1.Text+ '''');

[解决办法]
Quotestr(COMBOBOx1.Text)
[解决办法]
哎,
sql.Add('select * from LCB where GCMC=''' + COMBOBOx1.Text+ '''');

sql.Add('select * from LCB where GCMC=' + QuotedStr(COMBOBOx1.Text)); //而且这种方法可以有效的避免注入式的问题
[解决办法]
close;
sql.Clear;
sql.Add('select * from LCB where GCMC='+Quotedstr(COMBOBOx1.Text));
Open;
[解决办法]
execsql; 是执行什么SQL?
OPEN 是执行什么SQL?

两者有什么区别?

LZ啊 你该查查, EXECSQL 是执行无返回型Sql 也就是执行SQL 不返回任何结果

open呢?执行 返回型SQL,返回结果。

你select 用execsql 会造成什么结果呢?SQL执行过了,但你需要的数据并没返回

读书人网 >.NET

热点推荐