在连接数据库后
SimpleDataSet1.Append;
      SimpleDataSet1.DataSet.CommandText:='Insert   into   User   (zhanghao,mima)   values(:aa1,:aa2)';
      ///——————
      SimpleDataSet1.Params.CreateParam(ftstring,'aa1',ptInput);
      SimpleDataSet1.Params.ParamByName('aa1').AsString:=edit7.Text;
      SimpleDataSet1.Params.CreateParam(ftstring,'aa2',ptInput);
      SimpleDataSet1.Params.ParamByName('aa2').AsString:=edit8.Text;
      SimpleDataSet1.Execute;使用上面代码可以添加字段,添加一次可以成功,添加第二次就出错,必须重启程序才可以在次添加.
而且添加后DBGrid1不会显示只是闪一下,然后需要重起程序在连接数据库才知道..还有,我在添加的时候如何知道数据库里是否已经存在此字段?就是添加之前if判断一下是否存在,不存在我就提示错误我用的控件是这几个    DBGrid1: TDBGrid;
    SimpleDataSet1: TSimpleDataSet;
    DataSource1: TDataSource;连接后DBGrid1可以正常显示数据库里的字段...

解决方案 »

  1.   

    SimpleDataSet1.Append;
          SimpleDataSet1.DataSet.CommandText:='Insert   into   User   (zhanghao,mima)   values(:aa1,:aa2)';
          ///——————
          SimpleDataSet1.Params.ParamByName('aa1').AsString:=edit7.Text;
          SimpleDataSet1.Params.ParamByName('aa2').AsString:=edit8.Text;
          SimpleDataSet1.Execute;
    这样试试
      

  2.   

    第二次出错是不是连接关闭?要么就是没关闭清空SQL语句。
    判断的简单,先从数据库里查出要比较的字段,用个循环跟要插入的比较下就好了.
      

  3.   

    第二次添加字段是在        SimpleDataSet1.Execute;  这一句出错.判断是否存在求代码
      

  4.   

    第二次出错
    是因为SimpleDataSet1.DataSet没有关闭吧在给CommandText赋值之前关闭DataSet判断是否存在记录,可以先查一下或者在插入的同时查查询
      

  5.   

    SimpleDataSet1.DataSet.Close; 刚加上这句
    依然出错````