如何把DataTable快速写入数据库

如何把DataTable快速写入数据库,第1张

JDBC *** 作数据库其实只要掌握了六大步骤就基本差不多啦:

1.加载驱动

Class.forName(String)

String(驱动器的名称,分oracle,sql server等数据库驱动)

2.创建连接

DriverManager.getConnection(url,userName,passwd)

url是数据库的地址,后面分别是用户名和密码

3.创建会话statement(三种statement)

stmt(Statement):所有stmt的父类从connection对象获得,主要用于解析执行sql语句,返回响应结果,多执行异构的sql语句

pstmt(preparedStatement):主要用于执行同构的sql语句,stmt的子类。

cstmt:主要用于执行plsql的编程对象

4.执行sql语句

executeQuery()

5.处理结果集(有结果集返回,无则可省去,比如插入和删除)

ResultSet rs = 步骤4的结果

6.释放资源即连接,一般些在finally语句块中,目的是减轻服务器的压力

C#利用update更新数据到oracle数据库:

第一步:打开oracle数据库

public static string connString = ""

public static OracleConnection conn = null

//打开数据库连接

public static bool Open()

{

//从配置文件中获取连接字符串

//配置文件需要放在项目目录下的bin\Release中

connString = getXmlValue("connString")

conn = new OracleConnection(getXmlValue("connString"))

try

{

conn.Open()

Console.WriteLine("数据库连接成功")

return true

}

catch (System.Exception ex)

{

Console.Write(ex.Message)

MessageBox.Show("未能连接到数据库")

return false

}

第二步:执行更新方法:

public static int update(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)

{

String sql = "update Device_Attr t set t.BASEID = :equipmentId, t.BASENAME = :equipmentName,t.CA_NAME = :propertyName,t.CA_RULETYPE = :ruleType,t.CA_RULETEXT = :ruleRequest,t.CA_RULETEXT2 = :ruleRequestOther,t.CONTENT = :ruleExplain where t.CA_ID =:ruleId"

OracleCommand cmd = new OracleCommand(sql, conn)

OracleParameter param_1 = new OracleParameter(":equipmentId", equipmentId)

cmd.Parameters.Add(param_1)

OracleParameter param_2 = new OracleParameter(":equipmentName", equipmentName + "$")

cmd.Parameters.Add(param_2)

OracleParameter param_3 = new OracleParameter(":propertyName", propertyName)

cmd.Parameters.Add(param_3)

OracleParameter param_4 = new OracleParameter(":ruleType", ruleType)

cmd.Parameters.Add(param_4)

OracleParameter param_5 = new OracleParameter(":ruleRequest", ruleRequest)

cmd.Parameters.Add(param_5)

OracleParameter param_6 = new OracleParameter(":ruleRequestOther", ruleRequestOther)

cmd.Parameters.Add(param_6)

OracleParameter param_7 = new OracleParameter(":ruleExplain", ruleExplain)

cmd.Parameters.Add(param_7)

OracleParameter param_8 = new OracleParameter(":ruleId", ruleId)

cmd.Parameters.Add(param_8)

int result = cmd.ExecuteNonQuery()

return result

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存