读书人

单选组件+文本框的查询语句

发布时间: 2012-03-15 11:50:38 作者: rapoo

求助 单选组件+文本框的查询语句
procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioButton1.Checked=True then
ADODataSet1.Close;
ADODataSet1.CommandText := 'SELECT * FROM zql ....';
ADODataSet1.Open;
if RadioButton2.Checked=True then
ADODataSet1.Close;
ADODataSet1.CommandText := 'SELECT * FROM zql ......';
ADODataSet1.Open;
IF RadioButton3.Checked=True then
ADODataSet1.Close;
ADODataSet1.CommandText := 'SELECT * FROM zql .......';
ADODataSet1.Open;
end;


1.只用一条查询语句可以查询出结果,想用单选按钮进行多重选择查询,语句如何写啊?

2. ADODataSet1.Close;
ADODataSet1.Open;
这2句是表示什么意思,另外我在FROM建立时就连接上数据库ACCESS了,为什么在按钮1的动作要用这2句?


3.我在用一句查询语句查询数据后,在DBGrid组件中显示出来后,在DBGrid组件中修改,怎么可以直接修改ACCESS中的数据了,我不想修改功能,只是查询怎么改代码?

[解决办法]
这两句分别是关闭数据集和打开,你还要在中间加一个:ADODATASET.SQL.Clear;
而且你这样写不合理,应该这样:
if radioButton1.Checked then
sql:='select * from ......'
else
if radiobutton2.checked then
sql:='.....'
else
if radioButton3.checked then
sql:='......';

AdoDataSet.close;
AdoDataSet.sql.clear;
AdoDataSet.sql.add(sql);
AdoDataSet.open;
[解决办法]
如果不想修改的话,把DBGRID里的readOnly设为 true就可以,

读书人网 >.NET

热点推荐