foreach(DataRow dr in datatable)
{
str sql="insert into employee(,,,,,)values(dr.cells[0],dr.cells[1],,,) where ……";
sqlconnection con=new sqlconnection(connectionstrings);
sqlcommand cmd=new sqlcommand(sql,con);
con.open();
cmd.excutenonquery();
}
我手写的,没测试,具体大概就是这个样子,思想是这样的.
{
str sql="insert into employee(,,,,,)values(dr.cells[0],dr.cells[1],,,) where ……";
sqlconnection con=new sqlconnection(connectionstrings);
sqlcommand cmd=new sqlcommand(sql,con);
con.open();
cmd.excutenonquery();
}
我手写的,没测试,具体大概就是这个样子,思想是这样的.
解决方案 »
- 什么是全文索引
- windows8系统,c#中,image控件,metro风格
- 求简化写法
- 大家都是如何掌握类库的,我的想法不一定对,说说想让大家指点。(1)从net框架类库中大概根据其功能介绍找到自己可能需要的命名空间,(2)将这些命名空间中的类浏览一遍,根据类的功能选择自己可能今后需要的类。这两步大概需要3天时间。然后一般记忆这些命名空间和类
- C#调用 OCX 多事件 !! 高手请帮忙!!!!
- C#读写配置文件的问题,我看了N多也不清楚,那位大侠指点一个
- OpenRowSet和虚表的问题
- 讨论:快捷键控制(winform)
- 关于上次提的个问题很多人没明白我在说一次多线程
- VS2010总 提示“嵌入互操作类型设置为false”错误,怎么解决?
- mo移去图层后, 仍然不能删除文件,报告图层文件被其它进程占用,怎么办?
- 没积分,下载不了东西?
那就使用批量更新插入进数据库吧SqlDataAdapter dataAdapter = new SqlDataAdapter(SQL, CONNECTION);
string insertSQL = "INSERT INTO [Employee]([name], [age]) VALUES(@name, @age)";SqlCommand insertCmd = new SqlCommand(insertSQL, CONNECTION);
insertCmd.Parameters.Add(new SqlParameter("@name", SqlDbType.Char, 32, "name"));//name是DataTable中对应的列名
insertCmd.Parameters.Add(new SqlParameter("@age", SqlDbType.Real, 8, "age"));dataAdapter.InsertCommand = insertCmd;
insertCmd.UpdatedRowSource = UpdateRowSource.None;dataAdapter.UpdateBatchSize = 0;
dataAdapter.Update(DataTable);
//假设数据库中有需要插入三列,col1,col2,col3,其它字段为可空
//假设均为字符型,其它类型的话要转换一下,Convert.To...
//DataTable中有对应的三列数据,每行的1,3,5列
foreach(DataRow dr in datatable.Rows)
{
string c1 = dr[1].ToString();
string c2 = dr[3].ToString();
string c3 = dr[5].ToString();
InsertDB(c1,c2,c3);
}private void InsertDB(string c1,string c2,string c3)
{
SqlConnection conn = null;
try
{
string connStr = ConfigurationManager.Configuration["connectionString"].ConnectionString;
conn = new SqlConnection(connStr);
string sql = "insert into Employee(col1,col2,col3)"
sql += "values('"+c1+"','"+c2+"','"+c3+"')";
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
int rows = cmd.ExecuteNonQuery();
}
finaly
{
if(conn != null)
{
conn.Close();
conn.Dispose();
}
}
}