當前位置:首頁 » 數據倉庫 » 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);
如果你數據量很大是不能用這種方法的,可以用資料庫事務,全部單條循環插入後提交就行了(當然如果不考慮效率並且數據量不大,單條插入不用事務也行)