C#如何将datatable中的数据批量更新到MYSQL数据库

C#如何将datatable中的数据批量更新到MYSQL数据库,第1张

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

{

connOpen();

ConsoleWriteLine("数据库连接成功");

return true;

}

catch (SystemException ex)

{

ConsoleWrite(exMessage);

MessageBoxShow("未能连接到数据库");

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 tBASEID = :equipmentId, tBASENAME = :equipmentName,tCA_NAME = :propertyName,tCA_RULETYPE = :ruleType,tCA_RULETEXT = :ruleRequest,tCA_RULETEXT2 = :ruleRequestOther,tCONTENT = :ruleExplain where tCA_ID =:ruleId";

OracleCommand cmd = new OracleCommand(sql, conn);

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

cmdParametersAdd(param_1);

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

cmdParametersAdd(param_2);

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

cmdParametersAdd(param_3);

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

cmdParametersAdd(param_4);

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

cmdParametersAdd(param_5);

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

cmdParametersAdd(param_6);

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

cmdParametersAdd(param_7);

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

cmdParametersAdd(param_8);

int result = cmdExecuteNonQuery();

return result;

}

你既然能获取临时表,那怎么不知道如何添加到数据库呢,将临时表循环插入数据库中,就可以了。

for(int i=0;i<mydatatableRowsCount;i++)

{

string str="insert into Jcb(字段1,字段2) values('"+mydatatableRows[i][0]ToString()+"','"+mydatatableRows[i][1]ToString()+"')";//有几个字段就写几个,行(i)是不变的,列值累加

//循环执行上面的SQL语句

}

的范围

比如说我只想要表中的2个字段,

不要写成 select from 表名

应写成 select id,name from 表名

2开表次数

开同一个表,读取多条ID的数据

不要写成 select from 表名 where id=1

select from 表名 where id=2

可以写成 select from 表名 where =共同点

3清理缓存

连库完毕后关库

connclose

set conn=nothing

开表完毕后关表

rsclose

set rs=nothing

用C# 实现的话,我建议你还是用两个方法吧,

其实这是一件很麻烦的事情,要写的方法有:

1打开数据库的方法

2读取数据的方法(附带相应数据结构)

3db类型你没有说, 我不知道你说的db是sqlite3还是其他的类型,不同db相应方法也不同

4要有相应的有关查询方法

你的要求太粗糙,而且任务量比较大,如果你只想要查询语句的话,上面的几楼都有人回答了,如果是C#的话,这根本就是一个不小的工程了,呵呵

你帖出来的代码应该没问题的,问题都是些不注意的小细节。。是不是你原来的datatable的数据源跟插入的table是同一个表?那样的话肯定重复数据了。 还有就是你是不是在其他的方法里面根据这个方法的返回值判断插入是否成功了,如果判断了,应该先定义个bool变量,然后去判断bool变量的值, 不能直接把参数写成现在的方法,那样的话就调用2次方法了,插入的也是重复的数据。

用insert语句: INSERT INTO table1(id, name, address) VALUES(1, ygl, 'beijing'),该语句主要适用于sql和PL/SQL。

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展而发展。目前,数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

以上就是关于C#如何将datatable中的数据批量更新到MYSQL数据库全部的内容,包括:C#如何将datatable中的数据批量更新到MYSQL数据库、用c#把临时表添加到数据库中、c# 中 如何将datatable的数据 整行插入ACCESS数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9307981.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存