C# winForm中怎样给oracle数据库传进一个dataTable集合

laokang426 2011-11-26 08:00:43
各位大神,帮帮忙啊。
小弟给想用这个方法来解决给数据库直接插入dataTable的一个表集合数据。
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
迈克尔1998 2011-11-27
  • 打赏
  • 举报
回复
二楼的你借鉴一下
sdl2005lyx 2011-11-27
  • 打赏
  • 举报
回复
lz:2楼帮你搜索的这个帖子很好,你仔细研究,完全解决你的问题。。。


public static int ExecuteDataTable(DataTable dt)
{

//创建一个连接对象
using (OracleConnection connection = new OracleConnection(ConnectionString))
{
OracleDataAdapter OracleAdapter = new OracleDataAdapter();
//#region 查询
//OracleAdapter.SelectCommand = new OracleCommand();
//OracleAdapter.SelectCommand.CommandType = CommandType.Text;
//OracleAdapter.SelectCommand.CommandText = "SELECT JSDM,JSMC,JSMS,SCBS,JSLXDM FROM HT_YHJS ";
//OracleAdapter.SelectCommand.Connection = connection;
//#endregion
////////////////////////////////////////////////////////////////////////////

#region 添加
string insertSql = "INSERT INTO HT_YHJS (JSDM,JSMC,JSMS,JSLXDM) VALUES (:JSDM,:JSMC,:JSMS,:JSLXDM)";
OracleAdapter.InsertCommand = new OracleCommand();
OracleAdapter.InsertCommand.CommandType = CommandType.Text;
OracleAdapter.InsertCommand.CommandText = insertSql;
OracleParameter[] insertParms = {
new OracleParameter(":JSDM", OracleType.VarChar, 6, "JSDM"),
new OracleParameter(":JSMC", OracleType.VarChar, 20, "JSMC"),
new OracleParameter(":JSMS", OracleType.VarChar, 120, "JSMS"),
new OracleParameter(":JSLXDM", OracleType.Char, 10, "JSLXDM")
};
OracleAdapter.InsertCommand.Parameters.AddRange(insertParms);
OracleAdapter.InsertCommand.Connection = connection;
#endregion
#region 更新
string updateSql = "UPDATE HT_YHJS SET JSMC=:JSMC, JSMS=:JSMS, JSLXDM=:JSLXDM WHERE JSDM=:JSDM";
OracleAdapter.UpdateCommand = new OracleCommand();
OracleAdapter.UpdateCommand.CommandType = CommandType.Text;
OracleAdapter.UpdateCommand.CommandText = updateSql;
OracleParameter[] updateParms = {
new OracleParameter(":JSMC", OracleType.VarChar, 20 , "JSMC"),
new OracleParameter(":JSMS", OracleType.VarChar, 120, "JSMS"),
new OracleParameter(":JSLXDM", OracleType.Char, 10, "JSLXDM"),
new OracleParameter(":JSDM", OracleType.VarChar, 6, "JSDM")
};
updateParms[0].IsNullable = false;
OracleAdapter.UpdateCommand.Parameters.AddRange(updateParms);
OracleAdapter.UpdateCommand.Connection = connection;
#endregion
#region 删除
string deleteSql = "DELETE FROM HT_YHJS WHERE JSDM=:JSDM";
OracleParameter[] deleteParms = {
new OracleParameter(":JSDM", OracleType.VarChar, 6,"JSDM")
};
OracleAdapter.DeleteCommand = new OracleCommand();
OracleAdapter.DeleteCommand.CommandType = CommandType.Text;
OracleAdapter.DeleteCommand.CommandText = deleteSql;
OracleAdapter.DeleteCommand.Parameters.AddRange(deleteParms);
OracleAdapter.DeleteCommand.Connection = connection;
#endregion

int r = OracleAdapter.Update(dt);
dt.AcceptChanges();

return r;
}


ldn1016 2011-11-26
  • 打赏
  • 举报
回复
可以先把数据放到一个List的数据模型中,再将模型传入然后用sql语句插入到表中
accomp 2011-11-26
  • 打赏
  • 举报
回复
能直接插入datatable么?

需要自己根据datatable拼写sql吧
-晴天 2011-11-26
  • 打赏
  • 举报
回复
用数据连接对象+插入语句处理.

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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