delphi中写SQL语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中写SQL语句相关的知识,希望对你有一定的参考价值。
我讲原本的SQL写在一个string变量当中了,然后要直接在delphi程序中的SQL语句部分执行这个变量里的SQL语句,该怎么办?求高手解答
就比如说sSQL:='...';在里面用String变量来进行替换。
+sQname+''','''+sQPrice+''','''
+'QuPic\'+edt1.Text+'.jpg'+''','''
+EDT4.Text+''','''+Edt5.Text+''','''
+mmo1.Text+''','''+sQTime+''')';
qry1.SQL.add(sSQL);
qry1.ExecSQL;
qry1.Close; 参考技术B eg:
uses
DB;
var
dst_DataList:TDataSet
begin
Str_SQL:=' Select * from Table where Field=?';
dst_DataList:=GetDataSetFromSQL(Str_SQL);
....
freeandnil(dst_DataList);
end;
子函数:
function GetDataSetFromSQL(Str_SQL:String):TDataSet;
begin
end;追问
你这没写清楚吧
追答function GetDataSetFromSQL(Str_SQL: string): TDataSet;var
i_Connect:Integer;
adoqry_Temp:TADOQuery;
begin
begin
adoqry_Temp:=TADOQuery.Create(nil);
with adoqry_Temp do
try
ParamCheck:=False;
Connection:=adocn_Main;//adocn_Main是数据库连接控件TADOConnection的名字
SQL.Clear;
SQL.Add(Str_SQL);
Open;
Result:=adoqry_Temp;
except
Result:=nil;
end;
end;本回答被提问者和网友采纳 参考技术C ????
变量 s:='select.........';
adoquery.close;
adoquery.sql.text:=s;
adoquery.open;
delphi中的SQL语句
delphi中,如何在某个条件(如在序号在库中有记录)下执行修改数据库的语句,在另一条件(序号在库中没有记录)下执行插入数据库的语句
用ADO的表或查询或数据集组件,步骤:1,关闭组件;2,清除其中的SQL语句;3,写入新的SQL语句;4,打开组件;此时你就可以看到有无记录,如果有置ADO组件于编辑状态edit,即可修改记录,如果没有记录,则置ADO组件于增加数据状态apped,先对数据集组件连接表的各个字段赋值,然后保存。SQL语句:
select 字段1,字段2,。。。字段n from 表名 where 序号=‘123’ 参考技术A 建立一个数组t,把表的序号sql出来全部赋值给数组,用textedit控件输入要更新的数据记录字段,在序号的textedit.onexit事件将序号的textedit.text赋给一个变量x,将变量x循环对比数组t的值
t[i,0],当x=t[i,0],执行update语句,else执行insert语句。这方法只能在数据量不大的情况下使用,量大的运行会很慢,因为等于需要和全表记录进行循环对比 参考技术B select * from 表A where 序号 in(selcet 序号 from 表B group by 序号 ) 参考技术C 先做一次查询,有的话就做update,没有就insert。
以上是关于delphi中写SQL语句的主要内容,如果未能解决你的问题,请参考以下文章