public static bool insert_dt(DataTable dt)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
DataTable datatale = dt;
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "Insert Into Temp_Line_yd(tno,xlname,bh,crs,xhs,lxr,crjsj,xhjsj,S_userID,lname) values(@tno,@xlname,@bh,@crs,@xhs,@lxr,@crjsj,@xhjsj,@S_userID,@lname)";
cmd.CommandType = CommandType.Text;
SqlDataAdapter ada = new SqlDataAdapter(cmd);
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder();
ada.InsertCommand = myCommandBuilder.GetInsertCommand(); foreach (DataRow dr in dt.Rows)
{
if (dr.RowState != DataRowState.Added)
{
dr.SetAdded();
}
}
conn.Open();
ada.Update(dt);
}
catch { }
finally { conn.Close(); }
}
return true;
}
上面的写法都是自己找资料乱写的,结果不对,不能成功插入到数据库。希望有这方面经验的朋友给点指点。
[code=SQL]
insert into t1(t1a) values select t2a from t2
DataTable dt = new DataTable();
//把要插入的数据放到dt中
string connectionString = @"Data Source=(local);" + "Integrated Security=SSPI;database=scada";
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction);
sqlbulkcopy.DestinationTableName = "Temp_Line_yd";
sqlbulkcopy.WriteToServer(dt);
这样也行?!!