如何使用java代码向oracle数据库一次性插入多条数据

如何使用java代码向oracle数据库一次性插入多条数据,第1张

ClassforName("oraclejdbcdriverOracleDriver");

String url = "jdbc:oracle:thin:@你的主机ip :1521:orcl";// 设置连接字符串

String username = "你的用户名";

String password = "你的密码";

Connection con=javasqlDriverManagergetConnection(url,user,password);

Statement stmt = concreateStatement();

StringBuffer sql = new StringBuffer("insert into user values (" + listget(1)getId()+", "+listget(1)getUserName()+", "+listget(1)getPassword()+")");

for(int i = 2; i < listsize(); i++){

    sqlappend(", ("+ listget(i)getId()+", "+listget(i)getUserName()+", "+listget(i)getPassword()+")");//

}

sqlappend(";");

  ResultSet rs = stmtexecuteQuery(sql);

rsclose();

 stmtclose();

  conclose();

C#插入多条数据到oracle数据库:实例代码:using SystemData;using SystemDrawing;using SystemText;using SystemWindowsForms;using SystemIO;using SystemDataOleDb;using SystemData;using SystemDataOracleClient;using SystemText;namespace ExportInfo{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } /// <summary> /// 打开对话框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { openFileDialog1Filter = "电子表格(xls)|xls"; openFileDialog1ShowDialog();//打开对话框 thistextBox1Text = openFileDialog1FileName;//得到文件=路径+名称 } /// <summary> /// 点击导入文件到数据库中 /// 代云超 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { try { DataSet ds = ImportExcel(thistextBox1Text);//将excel的对象先放到ds 中 if (ds != null) { if (dsTables[0]RowsCount > 0)//如果ds中是有值的话 执行下面的 *** 作 { if (ExportInfo(ds)) { MessageBoxShow("导入数据库成功!"); } else { MessageBoxShow("导入数据库失败!"); } } } } catch { MessageBoxShow("导入数据库失败 请检查导入文件是否填写正确!"); } } /// <summary> /// 导入文件的具体方法 /// 代云超 /// </summary> /// <param name="file">要导入的文件</param> /// <returns></returns> public static DataSet ImportExcel(string file) { FileInfo fileInfo = new FileInfo(file); if (!fileInfoExists) return null; string strConn = @"Provider=MicrosoftJetOLEDB40;Data Source=" + file + ";Extended Properties='Excel 80;HDR=NO;IMEX=1'"; OleDbConnection objConn = new OleDbConnection(strConn); DataSet dsExcel = new DataSet(); try { objConnOpen(); string strSql = "select from [Sheet1$]"; OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn); odbcExcelDataAdapterFill(dsExcel); return dsExcel; } catch (Exception ex) { throw ex; } } /// <summary> /// 这是将ds对象导入数据库的方法 /// 代云超 /// </summary> /// <returns>执行是否成功 如: 成功=true 失败=false</returns> public static bool ExportInfo(DataSet ds) { if (ds != null) { if (dsTables[0]RowsCount > 0)//如果ds中是有值的话 执行下面的 *** 作 { return Do(ds);//执行成功 } } return false;//执行失败 } public static bool Do(DataSet ds) { OracleConnection conNorthwind = new OracleConnection("Data Source=web1;User Id=UserName;Password=UserPassword;Integrated Security=no;");//链接字符串 OracleCommand commandNorthwind = new OracleCommand(); try { conNorthwindOpen();//打开数据库链接 OracleTransaction tranNorthwind = conNorthwindBeginTransaction();//开始事务 for (int i = 0; i < dsTables[0]RowsCount; i++) { DataRow dr = dsTables[0]Rows[i]; OracleParameter[] parameters = null;//为了得到插入数据库的参数 定义参数对象 为空 string sql = GetSqlString(dr, out parameters);//执行sql -->用out关键字得到参数 赋到parameters对象上 //插入数据库中 PrepareCommand(commandNorthwind, conNorthwind, tranNorthwind, sql, parameters); commandNorthwindExecuteNonQuery();//执行 *** 作 } commandNorthwindTransactionCommit();//提交事务 conNorthwindClose();//关闭数据库链接资源 return true; } catch//如果有异常 不一定要捕捉异常 但要rollback事务 { if (commandNorthwindTransaction != null && conNorthwind != null) { commandNorthwindTransactionRollback();//rollback事务 conNorthwindClose();//关闭数据库链接 } return false; } } /// <summary> /// 每一行信息插入数据库中 /// </summary> /// <param name="dr">要插入的这一行ds-datarow对象</param> /// <returns>sql语句和用out关键字的参数数组对象</returns> public static string GetSqlString(DataRow dr, out OracleParameter[] parameters) { StringBuilder sb = new StringBuilder(); sbAppend("INSERT INTO TEXT VALUES(:ID,:NAME)"); parameters = new OracleParameter[] { new OracleParameter(":ID", ConvertToString(dr[0])), new OracleParameter(":NAME", ConvertToString(dr[1])) }; return sbToString();//将sqlreturn出去 } private static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, string cmdText, OracleParameter[] cmdParms) { PrepareCommand(cmd, conn, trans, cmdText, CommandTypeText, cmdParms); } //参数设定 此方法被重载 private static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, string cmdText, CommandType cmdType, OracleParameter[] cmdParms) { if (connState != ConnectionStateOpen) { connOpen(); } cmdConnection = conn; cmdCommandText = cmdText; if (trans != null) { cmdTransaction = trans; } cmdCommandType = cmdType; // CommandTypeText;//cmdType; if (cmdParms != null) { foreach (OracleParameter parameter in cmdParms) { if (parameter != null) { if (parameterValue == null) { parameterValue = DBNullValue; } cmdParametersAdd(parameter); } } } } }}

以上就是关于如何使用java代码向oracle数据库一次性插入多条数据全部的内容,包括:如何使用java代码向oracle数据库一次性插入多条数据、c#程序中想一次插入多条数据到oracle数据库中怎么实现、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9798006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存