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

用select语句查询Access表格的奇怪有关问题

2012-02-29 
用select语句查询Access表格的奇怪问题用以下select语句查询Access表格时出现问题sqlstringSELECT序号,

用select语句查询Access表格的奇怪问题
用以下select语句查询Access表格时出现问题
sqlstring="SELECT 序号,日期,用户名,"+sqlfields+" FROM "+TableName; //这句出问题
//sqlstring="SELECT * FROM "+TableName; //换成这句没问题
DataModule1->ADOQuery1->SQL->Clear();
DataModule1->ADOQuery1->SQL->Add(sqlstring);
DataModule1->ADOQuery1->Active=true; //运行到这里时出现错误提示

其中 " 序号,日期,用户名,"是固定的,sqlfields根据用户的设置不同,我发现字段名为中文、纯字母、字母起头数字结尾的字段名没问题,其他形式的字段名查询时就有问题。但在建立表格或修改表格结构时,都没有问题。我是用 ALTER TABLE 修改表格结构。

问题 1 :如果字段名为纯数字组合时,查询结果显示在DBGrid时,字段名的位置不显示这个纯数字组合,而是显示类似 expr1003,expr1004之类的,原本应该显示查询内容的位置却显示这个纯数字组合。例如:4878 这个字段,原本字段名的地方显示 expr1003 ,而内容却不显示正确的内容,显示的是 “4878”。

问题 2:如果字段名为子母数字组合且数字起头,一旦开始查询,就出现错误提示:语法错误(操作符丢失)在查询表达式 87saf中。( 87saf 在这里是举例的具体的字段名)

百思不解,如果我的字段名定义的有问题,在用 ALTER TABLE 增加或修改字段名时,应该有提示啊!!???

 


[解决办法]
这个正常,所以尽量用标准的标识来做字段名.
不过,这个可以这样解决的,在你的SQL的字段名加[]号
如:
select [4878],[87saf] form 表

热点排行