string strconnection=(string)ConfigurationSettings.AppSettings[Global.CfgKeyConnString]; 
SqlConnection  myconnection=new SqlConnection(strconnection); 
DataSet ds=new DataSet ();
SqlDataAdapter  adapter = new SqlDataAdapter();
string strsql="select * from jo_parts ";
adapter.SelectCommand = new SqlCommand(strsql , myconnection);   
adapter.Fill (ds,"data"); 
string isql="INSERT INTO jo_parts VALUES('U526FASX','abc',3,'rrrrrrr',10,23)";
adapter.InsertCommand =new SqlCommand (isql,myconnection);
adapter.Update (ds,"data");

解决方案 »

  1.   

    因为Adpater插入,修改,删除数据是根据DataRow的状态来确定的光指定insertcommand 是不够的
    try
    UpDate之前
    DataRow dr = ds.Tables["data"].NewRow();
    dr[...] = 值
    ds.Tables["data"].Rows.Add(dr)
      

  2.   

    楼上大哥,我写好了insert 语句的 如:string isql="INSERT INTO jo_parts VALUES('U526FASX','abc',3,'rrrrrrr',10,23)";是不是我要在DATESET中插入一行,一定要对DATAROW操作呢? 如果不,我要怎么写呢?  如果我用INSERT语句,要怎么做呢?
    在线等啊/
      

  3.   

    using(SqlConntion conn=new SqlConnection(connstr))
    {
    string str="INSERT INTO jo_parts VALUES('U526FASX','abc',3,'rrrrrrr',10,23)";
    SqlCommand cmd=new SqlCommand(str,conn);
      try
      {
         conn.open();
         cmd.ExecuteNonQuery();
      }
      catch
      {
      }
    }
    这样就可以了
      

  4.   

    SqlDataAdapter是自己管理connection的关闭和打开,commond必须自己打开和关闭connection
      

  5.   

    要么跳开DATASET用INSERT直接对DB操作,或者就是在DATASET中添加DATAROW,然后在UPDATE