关于在动态链接库中对数据库的操作 不太明白在动态链接库中如何对数据库进行操作最好有详细资料和例子,有用资料至少给50分,不够再开贴! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用BDE的一个例子,看看:Function DllQuery(const Param,QueryPara:PChar):Integer; export;var DataBase1:TDataBase; Query:TQuery; ODBCName,UserName,PassWord,:String; first,loca:Integer;begin Result:=1; ParaStr:=Param; loca:=0; first:=loca+1; loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1)); if loca<>0 then begin ODBCName:=Copy(ParaStr,first,Loca-1); first:=first+loca; end; loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1)); if loca<>0 then begin UserName:=Copy(ParaStr,first,Loca-1); first:=first+loca; end; loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1)); if loca<>0 then begin PassWord:=Copy(ParaStr,first,Loca-1); first:=first+loca; end; DataBase1:=TDataBase.Create(nil); Query:=TQuery.Create(nil); with DataBase1 do begin Params.Clear; Params.Add('DataBase1 NAME='); Params.Add('USER NAME='+UserName); Params.Add('ODBC DSN='+ODBCName); Params.Add('OPEN MODE=READ/WRITE'); Params.Add('BATCH COUNT=200'); Params.Add('LANGDRIVER='); Params.Add('MAX ROWS=-1'); Params.Add('SCHEMA CACHE DIR='); Params.Add('SCHEMA CACHE SIZE=8'); Params.Add('SCHEMA CACHE TIME=-1'); Params.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT'); Params.Add('SQLQRYMODE=SERVER'); Params.Add('ENABLE SCHEMA CACHE=FALSE'); Params.Add('ENABLE BCD=FALSE'); Params.Add('ROWSET SIZE=20'); Params.Add('BLOBS TO CACHE=2048'); Params.Add('BLOB SIZE=2048'); Params.Add('PASSWORD='+PASSWORD); KeepConnection := False; LoginPrompt := FALSE; DataBaseName:=ODBCName; end; with Query do begin DataBaseName:=DataBase1.DatabaseName; Close; SQL.Clear; SQL.Add(QueryPara); try ExecSQL; except end; end; try DataBase1.Destroy; except end; try Query.Destroy; except end; Result:=0; except try DataBase1.Destroy; except end; try Query.Destroy; except end; end;end; 谁写过广州金鹏的短信猫发短信的程序吗?进来都有分。 如何用Indy使用代理Post? 请问各位,想用Delphi开发办公自动化系统,能否可行,能否给个思路,做成BS的还是CS的??????? 有关字体问题!! 可否将panel放到popupmenu中?或者说有那些控件可以放到popupmenu中? 为什么在sql explorer里面可以执行的sql语句在delphi里面不可以执行呢 有那位大哥对MQ有了解的啊 新手入门求教 还是一个关于DHTMLEdit控件的小问题,有意者请助我一臂之力吧!重谢 关于网络文件传输 CSDN上的朋友,请不要再发短消息了,这是我的联系方式。 一个截面问题
Function DllQuery(const Param,QueryPara:PChar):Integer; export;
var
DataBase1:TDataBase;
Query:TQuery; ODBCName,UserName,PassWord,:String;
first,loca:Integer;
begin
Result:=1;
ParaStr:=Param;
loca:=0;
first:=loca+1;
loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1));
if loca<>0 then
begin
ODBCName:=Copy(ParaStr,first,Loca-1);
first:=first+loca;
end;
loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1));
if loca<>0 then
begin
UserName:=Copy(ParaStr,first,Loca-1);
first:=first+loca;
end;
loca:=Pos(';',Copy(ParaStr,first,Length(ParaStr)-first+1));
if loca<>0 then
begin
PassWord:=Copy(ParaStr,first,Loca-1);
first:=first+loca;
end;
DataBase1:=TDataBase.Create(nil);
Query:=TQuery.Create(nil);
with DataBase1 do
begin
Params.Clear;
Params.Add('DataBase1 NAME=');
Params.Add('USER NAME='+UserName);
Params.Add('ODBC DSN='+ODBCName);
Params.Add('OPEN MODE=READ/WRITE');
Params.Add('BATCH COUNT=200');
Params.Add('LANGDRIVER=');
Params.Add('MAX ROWS=-1');
Params.Add('SCHEMA CACHE DIR=');
Params.Add('SCHEMA CACHE SIZE=8');
Params.Add('SCHEMA CACHE TIME=-1');
Params.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
Params.Add('SQLQRYMODE=SERVER');
Params.Add('ENABLE SCHEMA CACHE=FALSE');
Params.Add('ENABLE BCD=FALSE');
Params.Add('ROWSET SIZE=20');
Params.Add('BLOBS TO CACHE=2048');
Params.Add('BLOB SIZE=2048');
Params.Add('PASSWORD='+PASSWORD);
KeepConnection := False;
LoginPrompt := FALSE;
DataBaseName:=ODBCName;
end; with Query do
begin
DataBaseName:=DataBase1.DatabaseName;
Close;
SQL.Clear;
SQL.Add(QueryPara);
try
ExecSQL;
except
end;
end;
try
DataBase1.Destroy;
except
end;
try
Query.Destroy;
except
end;
Result:=0;
except
try
DataBase1.Destroy;
except
end;
try
Query.Destroy;
except
end;
end;
end;