当前位置:首页 » 数据仓库 » cdatatable插入数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

cdatatable插入数据库

发布时间: 2022-12-17 20:14:41

㈠ 怎么把DataTable里的值直接添加到数据库

用循环呀,

㈡ .net如何将datatable数据保存到sql数据库

//1、使用sqlbulk.writetoserver(datatable)
SqlBulkCopysqlbulk=newSqlBulkCopy(connectionString,SqlBulkCopyOptions.UseInternalTransaction);
sqlbulk.DestinationTableName="Table_1";//数据库中的表名
sqlbulk.WriteToServer(dataset.Tables[0]);
//2、使用sqlcommand.executenonquery()方法插入
foreach(DataRowdatarowindatatable.Rows)
{
stringsql="INSERTINTO[Table_1]
([CompanyName],[CompanyCode],[Address],[Owner],[Memo])"+
"VALUES('"+datarow["CompanyName"].ToString()+"'"+
",'"+datarow["CompanyCode"].ToString()+"'"+
",'"+datarow["Address"].ToString()+"'"+
",'"+datarow["Owner"].ToString()+"'"+
",'"+datarow["Memo"].ToString()+"')";
using(SqlConnectionsqlconn=newSqlConnection(connectionString))
{
sqlconn.Open();
SqlCommandsqlcommand=newSqlCommand(sql,sqlconn);
sqlcommand.ExecuteNonQuery();
sqlconn.Close();
}
}
使用sqldataadapter.update(dataset,tablename);
SqlCommandinsertcommand=newSqlCommand("INSERTINTO[Table_1]([CompanyName],[CompanyCode],[Address],[Owner],[Memo])"+
"VALUES(@CompanyName,@CompanyCode,@Address,@Owner,@Memo)",newSqlConnection(connectionString));
insertcommand.Parameters.Add("@CompanyName",SqlDbType.NChar,50,"CompanyName");
insertcommand.Parameters.Add("@CompanyCode",SqlDbType.NChar,25,"CompanyCode");
insertcommand.Parameters.Add("@Address",SqlDbType.NChar,255,"Address");
insertcommand.Parameters.Add("@Owner",SqlDbType.NChar,25,"Owner");
insertcommand.Parameters.Add("@Memo",SqlDbType.NChar,255,"Memo");
sqldataadapter.InsertCommand=insertcommand;
sqldataadapter.Update(dataset,"Table_1");
使用sqlbulk.writetoserver(datatable)
SqlBulkCopysqlbulk=newSqlBulkCopy(connectionString,SqlBulkCopyOptions.UseInternalTransaction);
sqlbulk.DestinationTableName="Table_1";//数据库中的表名
sqlbulk.WriteToServer(dataset.Tables[0]);

㈢ 如何把DataTable快速写入数据库

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#datatable插入数据库,该怎么处理



publicvoidInsertTable(DataTabletable1)
{

stringstrInsert="insertintoNumbervalues(@value)";
SqlConnectionconn=newSqlConnection(ConfigurationManager.AppSettings["connStr"]);
conn.Open();
SqlCommandcom=newSqlCommand(strInsert,conn);
SqlParameterp1=newSqlParameter("@value",SqlDbType.VarChar);
com.Parameters.Add(p1);
for(inti=0;i<table1.Rows.Count;i++)
{
DataRowrow=table1.Rows[i];
p1.Value=row[1].ToString();
com.ExecuteNonQuery();
}
conn.Close();

}

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

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;
}

㈥ 如何将DataTable以最快的速度插入到数据库

///<summary>
///初始化一个DataTable类型的数据源
///<para/>Author:AnDequan
///<para/>Date:2011-3-14
///</summary>
///<returns>Source</returns>
privateDataTableInitSource()
{
DataTabledtUserAdd=newDataTable();
dtUserAdd.Columns.Add(newDataColumn("ID",typeof(int)));
dtUserAdd.Columns.Add(newDataColumn("UserName",typeof(string)));
dtUserAdd.Columns.Add(newDataColumn("UserPwd",typeof(string)));
DataRowdrTemp=null;
for(inti=0;i<100;i++)
{
drTemp=dtUserAdd.NewRow();
drTemp["ID"]=0;
drTemp["UserName"]="测试"+(i+1);
drTemp["UserPwd"]="密码"+(i+1);
dtUserAdd.Rows.Add(drTemp);
}
returndtUserAdd;
}

///<summary>
///一次性把DataTable中的数据插入<ahref="http://lib.csdn.net/base/mysql"class='replace_word'title="MySQL知识库"target='_blank'style='color:#df3434;font-weight:bold;'>数据库</a>
///<para/>Author:AnDequan
///<para/>Date:2011-3-14
///</summary>
///<paramname="source">DataTable数据源</param>
///<returns>true-成功,false-失败</returns>
publicboolAddDataTableToDB(DataTablesource)
{
SqlTransactiontran=null;//声明一个事务对象
try
{
using(SqlConnectionconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=Test;"))
{
conn.Open();//打开链接
using(tran=conn.BeginTransaction())
{
using(SqlBulkCopy=newSqlBulkCopy(conn,SqlBulkCopyOptions.Default,tran))
{
.DestinationTableName="AnDequan.dbo.[User]";//指定服务器上目标表的名称
.WriteToServer(InitSource());//执行把DataTable中的数据写入DB
tran.Commit();//提交事务
returntrue;//返回True执行成功!
}
}
}
}
catch(Exceptionex)
{
if(null!=tran)
tran.Rollback();
//LogHelper.Add(ex);
returnfalse;//返回False执行失败!
}
}

㈦ C# 读取CSV中的数据到datatable(已经实现),如何全部插入到MySQL数据库的aaa表中

不能,如果是批量插入可以用sqldataadapter.update的方法,指定好sqldataadapter.InsertCommand 就可以一次插入完(这个未测试,不清楚那个mysql驱动是不是支持。另外mysql有一种一次插入多条的语法,类似于
INSERT INTO users(name, age) VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600);
如果你数据量很大是不能用这种方法的,可以用数据库事务,全部单条循环插入后提交就行了(当然如果不考虑效率并且数据量不大,单条插入不用事务也行)