dbgrid是和DataSet有关系,只能改SQL了,不能直接赋值的.

解决方案 »

  1.   

    试了一下,不行。
    你为什么不用stringgrid?它可以不待数据库增加数据,也可以接受数据库的数据!
      

  2.   

    以上说法是错误的,DBGrid是数据感知组件,不可以直接操作
    要对数据集操作,也可以通过绑定的方式,以dbNavgator来操作,
    很少用的
    用ADOQuery的
    Var
     sSQL:string;
    with ADOQuery do
    begin
     sSQL:='insert into 表名(字段1,字段2,字段3)Values('
         +''''+trim(edit1.text)+''','''+trim(edit2.text)+''','
         +''''+trim(edit3.text)+''')';
    //假使字段均为字符型
    Close;
    SQL.Clear;
    SQL.Add(sSQL);
    EXecSQL;
    end;
      

  3.   

    假如要直接向里写,也可以,
    用数据集的缓冲方式,
    如为ADOQuery,把LockType:=ltBatchOptimistic
    既可以
      

  4.   

    DBGrid是数据感知组件,不能直接插入和修改数据,要改的话修改它绑定的数据控件,如AdoQuery或者ClientDataset。
    如果你想像Excel那样自由编辑表格,用StringGrid或者第三方表格控件。
      

  5.   

    把query的CachedUpdates设为True,虽然表面上是操作了数据库,但是并没有写进数据库
      

  6.   

    灌水啦
    DBGrid.DataSource.DataSet;
    Insert啊
      

  7.   

    灌水啦
    DBGrid.DataSource.DataSet;
    Insert啊