用sql语言添加字段及TFilestream文件问题(100分)

  • 主题发起人 主题发起人 lwlnic
  • 开始时间 开始时间
L

lwlnic

Unregistered / Unconfirmed
GUEST, unregistred user!
1。用sql语言向某个表格中添加字段,可以如下写:
procedure TForm1.addbtnClick(Sender: TObject);
var
add_field :TField;
count :integer;
name :string;
begin
name :=edit1.Text;
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('alter table FieldEditTable add '+name+' int null');
Adoquery1.ExecSQL;

//刷新dbgride中的内容;

Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select * from FieldEditTable');
Adoquery1.Open;
end;

我想问的是如何在指定的位置添加字段,(比如在第一个字段前);如何使
添加的字段名称没有重复。(80分)

2。如何判断tfilestream类型文件已经读完了。
用delphi中的eof函数是不可以的。应该怎么样完成这个判断?(20分)
环境是win98+D5。
 
你的问题我无法回答
但我觉得你修改表的语法不对,如按照你的改法,重新设关键字
重新写已有字段的属性该如何写?
 
2.
FileStream.Seek(0, soFromEnd); 可得到流的结束端地址。
FileStream.Size 是流的长度。
 
1.我觉得在指定的位置添加字段不可能,而且我也问过高手,他说也不可能,
只有加到末尾(use Sql EM,don't lose data)或用 SQL Explorer,
可以变顺序。(lose data!!!)
2.I don't know.
 
你在用DBGride显示的时候可以自己根据需要调整字段显示的顺序.
但是在程序运行中随便改变数据库结构,实在是一件非常不明智的做法.
 
2。如何判断tfilestream类型文件已经读完了
position=size-1;
 
1.Creat New Table
2.Insert OldTable's Datas into New Table
3.Drop OldTable
4.Rename NewTable's Name to Older's Name
 
因为用户需要自己添加字段,有这个需求,所以有这个问题。
filestream的size是一次所读stream的大小,所以。。。。。。
 
多人接受答案了。
 
后退
顶部