拷贝sql server 的一个数据表的一个字段到内存表,同时添加一个逻辑字段的 ADOQuery.SQL.TEXT如何写?
解决方案 »
- delphi向sql录入数据字段较多 怎样写循环语句
- 如何获取北京时间网中的时间(http://www.beijing-time.org/)
- CHM文件为什么不能显示?急,在线等。
- 关于INDY TCP client (客户端)和server(服务端)控件的问题。
- 为什么在我的d7 的internet中没有TClientSocket元件和TServerSocket元件,请问怎样添加这两项呢?
- 能回答我的问题的朋友,我将重分酬谢!!!
- 小问题:怎样在程序中将stringgrid的指定行加亮显示(选中)?
- delphi 能否通过RTTI 实现根据名称动态创建类的实例
- ADO-Connect的用法
- WIN98计算机上安装了SQL SERVER7.0桌面版 是否能作为服务器?(急、急、急、急、急)
- 帮帮忙吧,用到了DBGRID,发现可以直接修改里面的内容,原本想做个修改按键的,可是直接修改会产生问题,有时会修改成相同的记录,但并不会有提示,我不想出现两条相
- 我的一个程序运行的之后出现下面的问题
数据输入是开发数据库程序的必然环节。在Client/Server结构中,客户端可能要输入一批数据后,再向服务器的后台数据库提交,这就需要在本地(客户端)建立临时数据表来存储用户输入的数据,待提交后,清除本地表数据。2 建立临时表如下:function CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet; var
TempTable:TClientDataSet;
begin
TempTable:=nil;
Result:=nil;
if AFieldDefs<>nil then
begin
try
TempTable:=TClientDataSet.Create(Application);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet;
Result:=(TempTable as TDataSet);
Except
if TempTable<>nil then
TempTable.Free;
Result:=nil;
raise;
end;
end;
end;//在程序中按如下方法使用:
procedure TForm1.Button1Click(Sender: TObject);
var
ADataSet:TDataSet;
begin
ADataSet:=TDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
Add('Name',ftString,30,False);
Add('Value',ftInteger,0,False);
end; with DataSource1 do
begin
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
DataSet.Open;
end; ADataSet.Free;
end; 一、 Delphi使用内存表
1.1 Delphi创建内存表步骤:
1. 创建一个Ttable实例。
2. 设置一个DataBaseName为一个目录或是已有的数据库别名。
3. 指定TableName的值。
4. 设置TableType属性指明要创建的数据库表类型。(如果此属性为ttDefault表示数据库类型与TableName指定值的扩展名对应)。
5. 调用TTable.FidldDefs对象的Add方法向数据库表中添加字段。Add有4个参数:
字段名:string。
字段类型:TfieldType。
字段大小:Word。一般只对String和Memo类型使用。
字段是否NotNull: Boolean。
6. 使用TTable.IndexDefs.Add()方法定义索引。Add有三个参数:
索引名:string;
索引字段名:string;
索引类型:TIndexOptions;
7. 调用TTable的CreateTable。这种方法适用于本地表。SQL表要用TQuery来创建。代码如下:
var
MemTable: TTable;
begin
with MemTable.Create(Self) do
begin
DatabaseName := 'c:\Temp';
TableName := 'Test';
TableType := ttParadox;
with FieldDefs do
begin
Add('Age', ftInteger, 0, True);
Add('Name', ftString, 25, False);
Add('Weight', ftFloat, 0, False);
end;
IndexDefs.Add('', 'Age', [ixPrimary, ixUnique]);
CreateTable;
end;
end;
不行,‘1 as field2’ 不能编辑
CREATE TEMPORARY TABLE IF NOT EXISTS tbl_test
SELECT field1,1 AS field2 FROM YourTable忘记SQL SERVER是否有类似的语法,自己查下手册。