200分求一个很简单的用到ADO的三层结构的例子 你看一下delphi/demos下的pooler例程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个是在Type Library中建立的方法:procedure TrdmBBS.TeacherQuery(const vTeacher: WideString; var vNumber, vTime, vUserID, vSubject: OleVariant);var hobby : String; arrayNumber,arrayTime,arraySubject,arrayUser : Variant; len ,i: Integer;begin //取得老师所教科目 qryMain.Close; qryMain.SQL.Clear; qryMain.SQL.Add('SELECT teacherPopedom FROM teacherInformation'); qryMain.SQL.Add('WHERE teacherName = :pUserID'); qryMain.Parameters.ParamValues['pUserID'] := vTeacher; if qryMain.Prepared = False then begin qryMain.Prepared := True; end; qryMain.Open; hobby := Trim(qryMain.FieldByName('teacherPopedom').AsString); qryMain.Close; qryMain.SQL.Clear; qryMain.SQL.Add('SELECT questionNumber , subject , userName , questionTime FROM questionMassageBoard'); qryMain.SQL.Add('WHERE questionType = :pType'); qryMain.SQL.Add('AND answerState = 0'); qryMain.Parameters.ParamValues['pType'] := hobby; if qryMain.Prepared = False then begin qryMain.Prepared := True; end; qryMain.Open; len := qryMain.RecordCount; arrayNumber := VarArrayCreate([0,len-1],varInteger); arrayTime := VarArrayCreate([0,len-1],varDate); arraySubject := VarArrayCreate([0,len-1],varString); arrayUser := VarArrayCreate([0,len-1],varString); for i := 0 to len-1 do begin arrayNumber[i] := qryMain.FieldByName('questionNumber').AsInteger; arrayTime[i] := qryMain.FieldByName('questionTime').AsDateTime; arraySubject[i] := qryMain.FieldByName('subject').AsString; arrayUser[i] := qryMain.FieldByName('userName').AsString; qryMain.Next; end; vNumber := arrayNumber; vTime := arrayTime; vUserID := arrayUser; vSubject := arraySubject; qryMain.Close;end;你在client端用SocketConnection1.AppServer.TeacherQuery( vTeacher,vNumber, vTime, vUserID, vSubject);调用 请教 关于联合查询的问题 关于Delphi2009三层架构 怪事!!recv的时候,写入buffer的数据少于recv返回的字节数,甚至buffer是空的!!!! 关于一段硬盘拷贝代码的问题。 请问,如何将fastReport生成的报表导出,可以生成哪几中格式的?急急急急 通过代理服务器发送信息(net send)如何实现? 各位大侠,帮帮忙!不胜感谢! 怎样在imgedit1中显示paradox数据库中的图形字段中的图象呢? 关于TDBChart控件的问题 能不能找个程序员做老婆了??? 如何在菜单左侧加上一条图片(就像开始菜单一样)? 急急~~~~~~~~~~~数据库别名问题???
procedure TrdmBBS.TeacherQuery(const vTeacher: WideString; var vNumber,
vTime, vUserID, vSubject: OleVariant);
var
hobby : String;
arrayNumber,arrayTime,arraySubject,arrayUser : Variant;
len ,i: Integer;
begin
//取得老师所教科目
qryMain.Close;
qryMain.SQL.Clear;
qryMain.SQL.Add('SELECT teacherPopedom FROM teacherInformation');
qryMain.SQL.Add('WHERE teacherName = :pUserID');
qryMain.Parameters.ParamValues['pUserID'] := vTeacher;
if qryMain.Prepared = False then
begin
qryMain.Prepared := True;
end;
qryMain.Open;
hobby := Trim(qryMain.FieldByName('teacherPopedom').AsString);
qryMain.Close;
qryMain.SQL.Clear;
qryMain.SQL.Add('SELECT questionNumber , subject , userName , questionTime FROM questionMassageBoard');
qryMain.SQL.Add('WHERE questionType = :pType');
qryMain.SQL.Add('AND answerState = 0');
qryMain.Parameters.ParamValues['pType'] := hobby;
if qryMain.Prepared = False then
begin
qryMain.Prepared := True;
end;
qryMain.Open;
len := qryMain.RecordCount;
arrayNumber := VarArrayCreate([0,len-1],varInteger);
arrayTime := VarArrayCreate([0,len-1],varDate);
arraySubject := VarArrayCreate([0,len-1],varString);
arrayUser := VarArrayCreate([0,len-1],varString);
for i := 0 to len-1 do
begin
arrayNumber[i] := qryMain.FieldByName('questionNumber').AsInteger;
arrayTime[i] := qryMain.FieldByName('questionTime').AsDateTime;
arraySubject[i] := qryMain.FieldByName('subject').AsString;
arrayUser[i] := qryMain.FieldByName('userName').AsString;
qryMain.Next;
end;
vNumber := arrayNumber;
vTime := arrayTime;
vUserID := arrayUser;
vSubject := arraySubject;
qryMain.Close;
end;
你在client端用SocketConnection1.AppServer.TeacherQuery( vTeacher,vNumber, vTime, vUserID, vSubject);调用