怎么判断数据表中某个字段是否存在?
我在TABLE表中要动态的添加一个数据字段,要先判断该字段是否已经存在,怎么判断呢? 问题点数:30、回复次数:7Top
1 楼dybcb()回复于 2002-05-08 18:11:52 得分 5
遍历FieldDefs,一个个与要增加的字段进行比较,
或者利用Try...catch结构,先从表中select该字段,在catch段中添加字段Top
2 楼ccrun(老妖)(www.ccrun.com)回复于 2002-05-08 18:22:19 得分 10
bool __fastcall TForm1::CheckField(String YourFieldName)
{
for(int i=0;i<Table1->FieldCount;i++)
{
if(UpperCase(Table1->Fields->Fields[i]->FieldName)==UpperCase(YourFieldName))
{
return true;
}
}
return false;
}
Top
3 楼cathr(杨柳风)回复于 2002-05-08 18:25:02 得分 0
没有一个函数可以判断吗?或者可以通过Select语句来判断吗?Top
4 楼jishiping(JSP 季世平)回复于 2002-05-08 18:40:53 得分 5
try {
Query->SQL->Text = "SELECT FieldName FROM TableName";
Query->Active = true;
Query->Active = false;
}
catch(...) {
//字段FieldName不存在,这儿添加字段FieldName
}Top
5 楼plainsong(短歌)()回复于 2002-05-08 19:23:19 得分 5
jishiping(JSP 季世平)的方法不可靠:
执行一个查询时导致异常的原因不只有"字段不存在".产生了一个异常不表明这个字段不存在.
____ ____
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/
Top
6 楼cloudred(?)回复于 2002-05-08 19:27:19 得分 0
ccrun(黑山老妖)的函数略微修改就是一个通用的函数了。
系统提供的函数用得,自己写的函数就用不得?Top
7 楼PPower(月亮光光,照地堂)回复于 2002-05-08 20:07:04 得分 5
TTable::FindField
可以吧。Top




