我把excel表里的内容读取到dataset,现在怎么把dataset的数据存入数据库,以便执行查询.
因为我sql语言不熟,拜托各位大侠教教我啊!

解决方案 »

  1.   

    对SQL语句不熟的话可以使用sqlcommandbuilder来构造命令对象,具体查MSDN.其实SQL语句也不难,有机会学一下比较好.
      

  2.   

    DataAdapter da = new DataAdapter();
    da.Update(ds,"表名")
      

  3.   

    问题是在数据库要有对应的表,如果没有就要创建,有点麻烦;建议直接使用DataTable.Select方法,除非特别复杂查询。
      

  4.   

    using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace winApplication {      public class sqlAccess      {          //与SQL Server的连接字符串设置          private string _connString;          private string _strSql; 
             private SqlCommandBuilder sqlCmdBuilder;          private DataSet ds = new DataSet();          private SqlDataAdapter da;          public sqlAccess(string connString,string strSql)          {               this._connString=connString;          } 
             private SqlConnection GetConn()          {               try               {                    SqlConnection Connection = new SqlConnection(this._connString);                    Connection.Open();                    return Connection;               }               catch (Exception ex)               {                    MessageBox.Show(ex.Message,"数据库连接失败");                    throw;               }          } 
             //根据输入的SQL语句检索数据库数据          public DataSet SelectDb(string strSql,string strTableName)          {               try               {               this._strSql = strSql;               this.da = new SqlDataAdapter(this._strSql,this.GetConn());               this.ds.Clear();               this.da.Fill(ds,strTableName);               return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名               }               catch (Exception ex)               {                    MessageBox.Show(ex.Message,"数据库操作失败");                    throw;               }          } 
             //数据库数据更新(传DataSet和DataTable的对象)          public DataSet UpdateDs(DataSet changedDs,string tableName)          {               try               {               this.da = new SqlDataAdapter(this._strSql,this.GetConn());               this.sqlCmdBuilder = new SqlCommandBuilder(da);               this.da.Update(changedDs,tableName);               changedDs.AcceptChanges();               return changedDs;//返回更新了的数据库表               }               catch (Exception ex)               {                    MessageBox.Show(ex.Message,"数据库更新失败");                    throw;               }                     } 使用说明总结: 1. GetConn方法创建一个数据库连接,返回SqlConnection。 2.使用的select命令中必须包含主键,这点大家都知道的! 3. this.da.Fill(ds,strTableName) 填充数据集 4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入:   this.sqlCmdBuilder = new SqlCommandBuilder(da); 5. 在调用UpdateDs()更新数据库前,请检查changedDs是否已经被更新过,用changedDs.[tableName] GetChanges() != null; 6.用this.da.Update(changedDs,tableName)方法更新数据,然后调用changedDs.AcceptChanges()才能真正的更新数据库,调用 changedDs.RejectChanges() 取消更新。