如果不是从数据库取出的datatable
而是在本地新建的
怎么样才能写入数据库呢?

解决方案 »

  1.   

    /// <summary>
    ///把数据集DataTable中数据插入数据库,返回int
    /// </summary>
    /// <param name="SQLString"></param>
    /// <returns></returns>
    public   static   int   InsertTable(DataTable   table)   
    {    int   ret   =0; 
    string   strInsert   =   "INSERT   INTO   serverInfo(收购商名称,服务器类型,服务器名称,玩家类型,价格,数量,信息采集地址,收购状态,信息采集时间) values (@收购商名称,@服务器类型,@服务器名称,@玩家类型,@价格,@数量,@信息采集地址,@收购状态,@信息采集时间)";   
        
    SqlConnection conn = new SqlConnection(connectionString);
    SqlCommand   com   =   new   SqlCommand(strInsert,conn);   
      
        
    SqlParameter   p1   =   new   SqlParameter("@收购商名称",SqlDbType.VarChar,10);   
    SqlParameter   p2   =   new   SqlParameter("@服务器类型",SqlDbType.VarChar,4);   
    SqlParameter   p4   =   new   SqlParameter("@服务器名称",SqlDbType.VarChar,50);   
    SqlParameter   p3   =   new   SqlParameter("@玩家类型",SqlDbType.VarChar,50);   
    SqlParameter   p5   =   new   SqlParameter("@价格",SqlDbType.Float,8);   
    SqlParameter   p6   =   new   SqlParameter("@数量",SqlDbType.VarChar,10);   
    SqlParameter   p7   =   new   SqlParameter("@信息采集地址",SqlDbType.VarChar,50);   
    SqlParameter   p8   =   new   SqlParameter("@收购状态",SqlDbType.VarChar,10);   
    SqlParameter   p9   =   new   SqlParameter("@信息采集时间",SqlDbType.DateTime,8);     
    com.Parameters.Add(p1);   
    com.Parameters.Add(p2);   
    com.Parameters.Add(p3);   
    com.Parameters.Add(p4);   
    com.Parameters.Add(p5);   
    com.Parameters.Add(p6);   
    com.Parameters.Add(p7);   
    com.Parameters.Add(p8);   
    com.Parameters.Add(p9); com.CommandType = CommandType.Text;

    conn.Open(); 
    try
    {
      
    for(int   i=0;i<table.Rows.Count;i++)   
    {   
    DataRow   row   =   table.Rows[i];   
      
    p1.Value   =   row["收购商名称"].ToString();   
    p2.Value   =   row["服务器类型"].ToString();   
    p3.Value   =   row["服务器名称"].ToString();   
    p4.Value   =   row["玩家类型"].ToString();   
    p5.Value   =   row["价格"].ToString();   
    p6.Value   =   row["数量"].ToString();   
    p7.Value   =   row["信息采集地址"].ToString();   
    p8.Value   =   row["收购状态"].ToString();   
    p9.Value   =   row["信息采集时间"].ToString();      
    ret   +=   com.ExecuteNonQuery();   

    com.Dispose();
    conn.Close(); 
    return   ret;
    }
    catch(System.Data.SqlClient.SqlException err)
    {
         MessageBox.Show(err.ToString());
    return 0;
    }
    }
    我现在用的.....
      

  2.   

    数据字段跟数据字段问的数值传递啊比就好像
    SourceDataSet.data.Tables["Source"].Rows["Cartons"]=ds.Tables["Sce"].Rows["Cartons"]
      

  3.   

    可以用传统的sql语句插入,也可以用adapter来实现按实际情况来选择一个实现方法
      

  4.   

    我的意思是
    新建一个datatable
    而数据库里面没有这个表
    怎么才能加入这个表呀?
      

  5.   

    有dataTable各个列的信息了,再用SQL创建,可以查一下Create Table的帮助,对应好列类型与sql数据类型就可以了呀
      

  6.   

    strSql = "create table aaaaa(col1 datatype,col2 datetype)";在程序里执行下这个语句就创建里数据库了
      

  7.   

    我的意思是
    新建一个datatable
    而数据库里面没有这个表
    怎么才能加入这个表呀?
    ==========================>>>>
    if
    存在 表
    执行
     else
    创建 表
      

  8.   

    遍历dataTable的Column,得到每一列的名称、数据类型等相关信息,再用这些信息动态的建立起Create Table...语句字符串(这里需要对数据库操作语言比较了解),SqlCommand执行一下即可