刚才发错了,发到非技术区了
我用Delphi7的ADO连SQL Server 2000.1.update语句的:从edit 中读出内容,赋值给参数,ADOQuery1.Parameters.ParamByName('XXXX').Value:=后面怎样写?
edit1.text不行啊。
2.窗体中,两个DBGrid,连两个表,两个表部分Column相同,怎样双击一个DBGrid里的条目,就将dbgrid1中的有关条目的数据输入到dbgrid2中(dbgrid2开始为空)?
3.edit和dbgrid 同步,edit1中写1,dbgrid1显示值为1的列,怎么做?
4.怎么才能知道dbgrid中选定的条目?我知道我问的问题都比较白痴,所以请大家见谅啊!

解决方案 »

  1.   

    1. ADOQuery1.Parameters.ParamByName('XXXX').asString:=Edit1.text;
    2. 假设Table1->DataSource1->DBGrid1;Query1->DataSource2->DBGrid2
       在DBGrid1的OnCellClick中写:
       Query1.Close;
       Query1.sql.clear;
       Query1.sql.add('select * form myTable2 where id2='+Table1.FieldByName('id1').asString);
       Query1.open;
    3. 同上
       Query1.Close;
       Query1.sql.clear;
       Query1.sql.add('select * form myTable2 where id2=1');
       Query1.open;
    4. DBGrid1中被选中的条目实际就是Table1(DBGrid1.DataSource.DataSet)中被选中的条目。当你在程序中修改Table1中指向记录的指针时,DBGrid1中的指针会跟着变。例如,现在DBGrid1(即Table1)中指向的条目的id1=5
    Table1.IndexFieldNames:='id1';
    Table1.FindKey([3]);
    这时,DBGrid1(即Table1)会指向id1=3的条目