datatable數據資料庫
❶ 如何將DataTable更新到資料庫中
sqlDataAdapter adapter = new SqlDataAdapter(strSql, strConn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds, "Titles");
//插入記錄
DataTable table = ds.Tables["Titles"];
DataRow row = table.NewRow();
row["Title_id"] = "JP1001";
row["title"] = "programming Microsoft .NET";
row["price"] = 59.99m;
row["ytd_sales"] = 100000;
row["type"] = "business";
row["pubdate"] = new DateTime(2002, 5, 1);
table.Rows.Add(row);
//更新資料庫
adapter.Update(table);
❷ C# datatable 讀取資料庫
public SqlConnection getcon()
{
//連接本地資料庫 server=localhost
string M_str_sqlcon = @"server=localhost;database=表名;Integrated Security=SSPI";
SqlConnection myCon = new SqlConnection(M_str_sqlcon);
return myCon;
}
/// <summary>
/// 創建一個DataTable對象
/// </summary>
/// <param name="M_str_sqlstr">SQL語句</param>
/// <param name="M_str_table">表名</param>
/// <returns>返回DataTable對象</returns>
DataTable mytable = new DataTable();
public DataTable gettable(string M_str_sqlstr)
{
SqlConnection sqlcon = this.getcon();
SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);
sqlda.Fill(mytable);
sqlcon.Close();
sqlcon.Dispose();
return mytable;
}
調用該方法:
DataTable mytable = gettable("select * from 表名")
❸ 怎麼把DataTable里的值直接添加到資料庫里
foreach(datarow dr in dt.rows)
{
string dym = dr["電影名"].toString();
......//類似的讀取出 datatable裡面的行的指定列的值;
Insert(參數);
}
public void Insert(string a,string b,string c,string,d,string e)
{
SqlConnetion sqlconn = new SqlConnection(「連接字元串");
sqlconn.open();
SqlCommand sqlcmd = new SqlCommand(sqlconn,"insert into biao values (a,b,c,d,e)");
sqlcmd.ExecuteNonQuery();
sqlconn.close();
}
❹ 數據是如何存入資料庫中的
在一些數據量比較大,而且操作資料庫頻繁的。此時需要將數據表datatable整塊的存入資料庫中。
首先得新建一個資料庫
DataTable once_rec_date = new DataTable();
這個資料庫得跟目標資料庫的列的位置和大小都得一樣。特別是類型,和位置。就是列的位置和目標資料庫的位置,順序得 一模一樣。因為都是塊存儲,所以地址什麼的都得一樣,千萬不能少一列,自增列可以空在那邊。
(4)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
❺ .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中的數據批量更新到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;
}