日期:2014-05-19  浏览次数:20767 次

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


------解决方案--------------------
/// <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;
}
}


我现在用的.....
------解决方案--------------------
有dataTable各个列的信息了,再用SQL创建,可以查一下Create Table的帮助,对应好列类型与sql数据类型就可以了呀
------解决方案--------------------
strSql = "create table aaaaa(col1 datatype,col2 datetype) ";

在程序里执行下这个语句就创建里数据库了
------解决方案--------------------
我的意思是
新建一个datatable
而数据库里面没有这个表
怎么才能加入这个表呀?
==========================> > > >
if
存在 表
执行