DataTable生成数据库表格

zard_daba 2006-08-22 12:44:34
现在在内存中有一个DataTable,是从Excel中导入的,选择了一些字段
现在想把这个DataTable(结构和数据)写入在sql2005中,
怎么实现?(用C#,winform)
...全文
480 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyAnt_X 2006-09-05
  • 打赏
  • 举报
回复
看看这个对你有没有帮助
DbDataAdapter调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT
、UPDATE 或 DELETE)。当 DataAdapter 遇到对 DataRow 的更改时,它将使用 InsertCommand、
UpdateCommand 或 DeleteCommand 来处理该更改。这样,您就可以通过在设计时指定命令语法并在可能
时通过使用存储过程来尽量提高 ADO.NET 应用程序的性能。在调用 Update 之前,必须显式设置这些命
令。如果调用了 Update 但不存在用于特定更新的相应命令(例如,不存在用于已删除行的
DeleteCommand),则将引发异常。
但是如果 DataTable 映射到单个数据库表或从单个数据库表生成,则可以利用 CommandBuilder 对象
自动生成 DataAdapter 的 DeleteCommand、InsertCommand 和 UpdateCommand。为了自动生成命令,必
须设置 SelectCommand 属性,这是最低的要求。SelectCommand 所检索的表架构确定自动生成的 INSERT
、UPDATE 和 DELETE 语句的语法。如果在自动生成插入、更新或删除命令后修改 SelectCommand 的
CommandText,则可能会发生异常。如果已修改的 SelectCommand.CommandText 所包含的架构信息与自动
生成插入、更新或删除命令时所使用的 SelectCommand.CommandText 不一致,则以后对
DataAdapter.Update 方法的调用可能会试图访问 SelectCommand 引用的当前表中已不存在的列,并且会
引发异常。可以通过调用 CommandBuilder 的 RefreshSchema 方法来刷新 CommandBuilder 用来自动生成命令的架构信息。(
zard_daba 2006-09-05
  • 打赏
  • 举报
回复
up
zard_daba 2006-08-25
  • 打赏
  • 举报
回复
up
fds2003 2006-08-24
  • 打赏
  • 举报
回复
用DataSet操作会方便很多,网上很多例子,自己找下!
fengyeng 2006-08-24
  • 打赏
  • 举报
回复
up
zard_daba 2006-08-24
  • 打赏
  • 举报
回复
up
zahuifan 2006-08-23
  • 打赏
  • 举报
回复
ding
zard_daba 2006-08-23
  • 打赏
  • 举报
回复
哪位高手指点一下啊
zard_daba 2006-08-22
  • 打赏
  • 举报
回复
有没有好的办法,不要建表然后插入数据,两步操作
而可以像select * into # from table1
这样的
dreamdlm 2006-08-22
  • 打赏
  • 举报
回复
foreach (DataRow row in ds.Tables[0].Rows)
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "p047_insert";
SqlParameter para = cmd.Parameters.Add("@USERID", SqlDbType.Int);
para.Direction = ParameterDirection.Input;
para.Value = UserID;

para = cmd.Parameters.Add("@CZ01", SqlDbType.VarChar, 10);
para.Direction = ParameterDirection.Input;
para.Value = row["CZ01"].ToString();

para = cmd.Parameters.Add("@CZ02", SqlDbType.VarChar, 6000);
para.Direction = ParameterDirection.Input;
para.Value = row["CZ02"].ToString();

para = cmd.Parameters.Add("@CZ03", SqlDbType.Image);
para.Direction = ParameterDirection.Input;
para.Value = row["CZ03"];

cmd.ExecuteNonQuery();
conn.Close();
}

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧