BCB ADO 如何取出数据表中的字段
我是用BCB,ADO连接的SQLserver2000数据库,想取出某个数据表里面的字段,我是这样写的:
ADOConnection1->GetFieldNames("FYTable3",ListBox1->Items);但是这样只得到了全部字段,不能得到某个或某几个字段。
如果用select 语句 加上for循环该怎么写呢?
[解决办法]
如果用select语句
就用
SELECT Name from SysColumns WHERE id=Object_Id('FYTable3');
作为一句sql来处理 然后循环结果集
[解决办法]
- SQL code
--获取SQL所有数据库名、所有表名、所有字段名、表字段长度 收藏 --1.获取所有数据库名: Select Name FROM Master..SysDatabases orDER BY Name --2.获取所有表名: Select Name FROM DatabaseName..SysObjects Where XType='U' orDER BY Name --XType='U':表示所有用户表; --XType='S':表示所有系统表; --3.获取所有字段名: Select Name FROM SysColumns Where id=Object_Id('TableName') --4、表字段的长度select table_name , column_name, isnull(column_default,'') default_value, is_nullable, data_type, isnull(isnull(isnull(character_maximum_length,numeric_precision),datetime_precision),1) lengthfrom information_schema.columns where not table_name in('sysdiagrams','dtproperties')
[解决办法]
我是这样用的:
for (i=0;i<ADOQuery2->FieldCount;i++)
{
ShowMessage(ADOQuery2->Fields->Fields[i]->FullName);
}
可以参考这里:
http://topic.csdn.net/t/20040416/16/2974221.html
[解决办法]
- C/C++ code
for(int i=0;i<q1->RecordCount;i++) { ShowMessage(q1->FieldByName("单价")->AsString); q1->Next(); }
[解决办法]