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什么都不显示??
各位风流倜傥、人见人爱,聪明机智、头脑灵活,胸怀大志,目标远大,高风亮节,正直热血的大哥大姐们救救小弟我吧,小弟我不甚感激了呵呵

解决方案 »

  1.   

    视图的用法和表一样,
    直接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;
      

  2.   

    视图的读取和表没区别.由系统自动处理.不同的是插入.
    使用"select * from your_view_name"就可以.