客户端通过TSocketConnect组件与服务端通讯,可以连通.但是此处代码有问题:
1 : CDS1.Data := SocketConn.AppServer.Query(1,str);
2 : CDS2.Data := SocketConn.AppServer.Query(1,str);
3 : CDS3.Data := SocketConn.AppServer.Query(1,str);
4 : CDS4.Data := SocketConn.AppServer.Query(1,str);
执行到第一条语句就出错.服务端query代码如下:
function TConnectDB.Query(Flag: integer;
const SQL: WideString): OleVariant;
begin
if Flag = 1 then begin
MainQuery.Close
MainQuery.SQL.Clear;
MainQuery.SQL.Add(SQL);
MainQuery.Open;
Result := MainDataSetProvider.Data;
//MessageBox(0,'This should be on top.', 'Look', 1);
//VariantCopy(Result,temp);
MainQuery.Close;
end else begin
BackupQuery.SQL.Clear;
BackupQuery.SQL.Add(SQL);
BackupQuery.Open;
Result := BackupDataSetProvider.Data;
BackupQuery.Close;
end;
end;
执行红色部分代码,请高手帮忙,十万火急.成功解决,另有分相送.
1 : CDS1.Data := SocketConn.AppServer.Query(1,str);
2 : CDS2.Data := SocketConn.AppServer.Query(1,str);
3 : CDS3.Data := SocketConn.AppServer.Query(1,str);
4 : CDS4.Data := SocketConn.AppServer.Query(1,str);
执行到第一条语句就出错.服务端query代码如下:
function TConnectDB.Query(Flag: integer;
const SQL: WideString): OleVariant;
begin
if Flag = 1 then begin
MainQuery.Close
MainQuery.SQL.Clear;
MainQuery.SQL.Add(SQL);
MainQuery.Open;
Result := MainDataSetProvider.Data;
//MessageBox(0,'This should be on top.', 'Look', 1);
//VariantCopy(Result,temp);
MainQuery.Close;
end else begin
BackupQuery.SQL.Clear;
BackupQuery.SQL.Add(SQL);
BackupQuery.Open;
Result := BackupDataSetProvider.Data;
BackupQuery.Close;
end;
end;
执行红色部分代码,请高手帮忙,十万火急.成功解决,另有分相送.
解决方案 »
- 怎样打开delphi的DateBase Desktop啊~~它在哪里啊???谢谢
- 請問toscaii函數如何用
- "类"在实际开发中的重用?
- 请教文件内容替换问题~~~~~~~~~~~~~~!!!!!!!
- 求Delphi7下快速存取 Oracle 8 的方法!
- 怎么判断dbgrid中某个单元格的值是否符合要求
- 关于分页打印
- 窗体释放的问题,急人啊.............呜呜呜呜呜呜!!!!
- DELPHI 6如何和SQL SEVER2000连接呀!
- Application.CreateForm(TForm1, Form1)后,那么form1.free可以把form1从内存中完全卸载掉吗?
- 如何判断字符串是不是UTF8编码
- Inno Setup安装问题之CreateMutex
然后返回cleintdataset.data实例代码: SQLQuery:=GetNewAdoQuery; //动态生成QUERY
SQLClientData:=GetNewClientdataset; //动态生成CLIENTDATASET
SQLProvider:=GetNewDatasetProVider; //动态生成DATASETPROVIDER
SQLProvider.DataSet:=SQLQuery; //设定QUERY 与DATASETPROVIDER
SQLClientData.SetProvider(SQLProvider); //设定 DATASETPROVIDER与CLIENTDATASET
SQLQuery.Close;
SQLClientData.Active:=False;
SQLQuery.SQL.Clear;
ComStr:='select * from '+TableName+' where '+SqlStr;
SQLQuery.SQL.Add(ComStr);
if CheckConntion then
begin
SQLClientData.Active:=True;
ReSult:=SQLClientData.Data; //返回CLIENTDATASET的DATA值
end;释放动态控件的代码就不写了!
ping一下数据库服务器,看有没有丢包现象~~