1。ado的query能不能读取视图的数据集?一般要如何编写?
(adoQuery1.SQL.add('SELECT * FROM yhzl_VIEW');可以直接读取吗?
//yhzl_VIEW为MSSQL中视图名字)
环境为dephi6+MSSQL2。小弟我现在 用 dbgrid1连接datasource1 连接adoquery1
Button代码如下:
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.add('SELECT * FROM yhzl_VIEW');
adoQuery1.SQL.add('where 用户号='+''''+yh_select.text+'''');
adoQuery1.Open;
为什么dbgrid什么都不显示??
各位风流倜傥、人见人爱,聪明机智、头脑灵活,胸怀大志,目标远大,高风亮节,正直热血的大哥大姐们救救小弟我吧,小弟我不甚感激了呵呵
(adoQuery1.SQL.add('SELECT * FROM yhzl_VIEW');可以直接读取吗?
//yhzl_VIEW为MSSQL中视图名字)
环境为dephi6+MSSQL2。小弟我现在 用 dbgrid1连接datasource1 连接adoquery1
Button代码如下:
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.add('SELECT * FROM yhzl_VIEW');
adoQuery1.SQL.add('where 用户号='+''''+yh_select.text+'''');
adoQuery1.Open;
为什么dbgrid什么都不显示??
各位风流倜傥、人见人爱,聪明机智、头脑灵活,胸怀大志,目标远大,高风亮节,正直热血的大哥大姐们救救小弟我吧,小弟我不甚感激了呵呵
直接select * from view_name就行了,
首先你上面的代码中有问题,
你仔细看看,
在添加的两个SQL语句中,会变成:
'SELECT * FROM yhzl_VIEWwhere 用户号='+''''+yh_select.text+''''
少了一个空格,应该程序无法执行的。
其次,建议楼主少用这种形式的SQL语句,因为太多数据类型,转换容易出错,
如果用Parameters不用数据类型转换,万无一失,
如:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(' select * from tb1 where c_name=:c_name ');
ADOQuery1.Parameters.ParamByName('c_name').Value:='你的参数值';
ADOQuery1.Active:=true;
使用"select * from your_view_name"就可以.