作一个stored procedure例如叫usp_SaveUserInfo
insertCommand = new SqlCommand("usp_SaveUserInfo", this.connection);
insertCommand.CommandType = CommandType.StoredProcedure;
SqlParameterCollection parameters = insertCommand.Parameters;
然后
parameters.Add(new SqlParameter(USERID_PARAM, SqlDbType.Int));
parameters[USERID_PARAM].SourceColumn = UserInfoData.USERID;
parameters[USERID_PARAM].Direction = ParameterDirection.Input;
这ㄦ和你的dataset匹配
dsCommand.InsertCommand = insertCommand;
dsCommand.Update(data, tablename);
data.AcceptChanges();就OK了.

解决方案 »

  1.   

    用Dataset.Tables["tablename"].Newrow()建立一个新列,然后再加数据
      

  2.   

    to FallingAngle(海洲) 
    stored procedure usp_SaveUserInfo中是什么内容?
    还有dsCommand.Update(data, tablename);这句,dsCommand是不是应该是DataAdapter啊,Command可没有UpDate方法的。
      

  3.   

    首先,要写回数据库,肯定要和数据库建立连接。
    一,当读取xml建立的dataset时,我还没试过
    二,当用datatable,dataculumn建立的dataset时,最好的方法还是先用sqldataadapter获取表的结构,不往里绑定数据,得到这样一个空的dataset后,再用datarow的方法来加,然后用update就行了。
      

  4.   

    to scgqq(轻骑兵):
    你的意思是在vs.net的环境中先用工具从sqldataadapter建立一个类型化的dataset?
      

  5.   

    嗯,我沒有写清楚.
    dsCommand 是SqlDataAdapter
    stored procedure的传入参數就和你在parameters里add的匹配.至於写的內容就是你要干的事情啊.
      

  6.   

    spgoal(小goal)的方法应该是没有问题的,通过newrow()返回一个新的DataRow,然后把数据写入这个对象,然后用DataTable.Rows.Add()把这个DataRow加入一个DataTable,然后执行包含这个DataTable的DataSet.Update()