㈠ 如何把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保存到資料庫
sqlbulk 神級 數據拷貝
System.Data.SqlClient 命名空間
親測,100萬 數據 20欄位 5000毫秒 (5秒)
public void InsertDatatable(Datatable datatableA)
{
SqlConnection destinationConnection = new SqlConnection(connectionString) //創建一個資料庫連接;
destinationConnection.Open();
SqlBulkCopy bulkCopy =new SqlBulkCopy(destinationConnection)// 實例化 sqlbulk;
bulkCopy.DestinationTableName ="dbo.DatatableA";// 目標表名稱/
///bulkCopy.ColumnMappings.Add("ProctID", "ProctID");//映射 目標和源的欄位 如果欄位都相同,可不寫,會自動匹配相同欄位插入
///bulkCopy.ColumnMappings.Add("ProctName", "Name");//映射 目標和源的欄位 如果欄位都相同,可不寫,會自動匹配相同欄位插入
bulkCopy.WriteToServer(datatableA);//將傳入的數據寫到資料庫;
}
目標表名 如果在資料庫中不存在, 二十需要插入數據時再生成的話,就需要在執行這個 插入之前,先建一張表
string sql="create table xxxxxxx( filed1 varchar(100),........ )" 建好之後再 插入數據 就可以了 。
㈢ 數據是如何存入資料庫中的
在一些數據量比較大,而且操作資料庫頻繁的。此時需要將數據表datatable整塊的存入資料庫中。
首先得新建一個資料庫
DataTable once_rec_date = new DataTable();
這個資料庫得跟目標資料庫的列的位置和大小都得一樣。特別是類型,和位置。就是列的位置和目標資料庫的位置,順序得 一模一樣。因為都是塊存儲,所以地址什麼的都得一樣,千萬不能少一列,自增列可以空在那邊。
(3)datatable寫入資料庫擴展閱讀
資料庫入門基礎知識:
資料庫的分類
關系型資料庫: 經過數學理論驗證 可以保存現實生活中的各種關系數據, 資料庫中存儲數據以表為單位;非關系型資料庫:通常用來解決某些特定的需求如:數據緩存,高並發訪問。 存儲數據的形式有多種,舉例:Redis資料庫:通過鍵值對的形式存儲數據。
創建資料庫:CREATE DATABASE database_name
刪除資料庫:DROP DATABASEdatabase_name
選擇資料庫:USEdatabase_name
創建數據表:CREATE TABLE table_name (column_name column_type)
刪除數據表:DROP TABLE table_name
更新數據表信息:
添加表欄位:ALTER TABLE table_name ADD new_column DATATYPE
使用FIRST關鍵字可以將新增列的順序調整至數據表的第一列:ALTER TABLE table_name ADD new_column DATATYPE FIRST
使用AFTER關鍵字可以將新增列調整至數據表的指定列之後:ALTER TABLE table_name ADD new_column DATATYPE AFTER old_column
㈣ 怎麼把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插入資料庫中 是怎麼弄的
--跨資料庫
--復制結構+數據
select * into 資料庫名.dbo.新表名 from 資料庫名.dbo.原表名
--只復制結構
select * into 資料庫名.dbo.新表名 from 資料庫名.dbo.原表名 where 1=0
--復制到臨時表
select * into #temptablename from 資料庫名.dbo.原表名 where 1=0
--後面的where 1=0 只要不成立就行了,管它是1=2,還是1000=1001...
㈦ c#怎麼把datatable寫入mysql資料庫
OleDbCommandcm=newOleDbCommand();
cm.Connection=conn;
cm.CommandText="SELECT*FROM"+strTable;
OleDbDataAdapterad=newOleDbDataAdapter(cm);
OleDbCommandBuilderbuild=newOleDbCommandBuilder(ad);
intn=ad.Update(datable);
datable.AcceptChanges();
MessageBox.Show(string.Format("更新了{0}條記錄!",n));
大概這樣
㈧ 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();
}