首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

adoquery与BDE中的query应用区别解决方案

2012-02-09 
adoquery与BDE中的query应用区别我要运行sp_pkeys@table_name tname以找该表的主键用adoquery可以用,但用

adoquery与BDE中的query应用区别
我要运行sp_pkeys @table_name= tname以找该表的主键
用adoquery可以用,但用query提示“field 'COLUMN_NAME' not found",用法如下:
query1.Close;
  query1.SQL.Clear;
  query1.SQL.Add('sp_pkeys @table_name= '+tname);
  query1.Open();
   
  query1.First;
  while not query1.Eof do
  begin
  colKeyList.Add(Query1.FieldbyName('COLUMN_NAME').value);

  Query1.Next;
  end;
如果把query1换成adoquery1就没问题,不明白是什么问题,知道的指导下!!



[解决办法]
最好不要使用BDE,BDE的BUG多,而且不支持Unicode,例如當你要查詢SQL Server中的NVARCHAR類型字段時,使用BDE就沒有辦法。
[解决办法]
没有问题!
procedure TForm1.Button1Click(Sender: TObject);
begin
with Query1, SQL do
begin
Close;
Add('sp_pkeys Goods');
Open;
while not eof do
begin
ListBox1.Items.Add(FieldByName('column_name').AsString);
Next;
end;
Close;
end;
end;
[解决办法]
是没有问题的,或许你的'COLUMN_NAME'没有包含在query中,注意双击TQuery ,把字段都加近来.
[解决办法]
BDE不是BUG太多,boblaw 说那个问题并不存在,不过如果nvarchar字段的长度为10,那么在DBEdit等控件里只能输入5位,所以设计数据库都要加长一倍,BDE的速度还比ADO快,只不过BDE已经处于维护期,也就是不会再有新版本了,放弃它吧,可以用ADO或者DBExpress,后者完全支持Unicode,但还不是很完善。

热点排行