當前位置:首頁 » 操作系統 » datatable數據更新資料庫

datatable數據更新資料庫

發布時間: 2023-08-22 06:16:05

❶ C# datatable 更新資料庫問題

你沒有條件 當然是插入 一條新的記錄,而不是在原紀錄上更新了。

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

❸ GridView的數據源是datatable,怎麼用GridView更新資料庫呢

"只對datatable中的數據進行資料庫更新" 對這句不太理解。。 總的來說,你要對datatable進行更新的話再重新拿一次數據就行,要對gridview進行更新的話那除了datatable要更新外,還要再綁定一次gridview,即DataBind()

❹ DataTable修改後,如何更新資料庫

下面是實現的代碼: DataTable table = new DataTable();//初始化一個DataTable對象 string sqlConnectionString = "Data Source=ComputerName-PC;Initial Catalog=charge_sys;User ID=sa;PWD=123456;"; SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);//連接資料庫 SqlCommand sqlCommand = new SqlCommand("select * from testB", sqlConnection); SqlDataAdapter sqlAdap = new SqlDataAdapter(sqlCommand); SqlCommandBuilder sqlBuilder = new SqlCommandBuilder(sqlAdap);//這句挺重要的,好像是批量更新的時候用 //DataSet dtst = new DataSet(); 用dataSet也可以完成,下面有對應實現的代碼 sqlConnection.Open(); sqlAdap.Fill(table); //table = dtst.Tables["testB"]; DataRow dr = table.Rows[0];//第一行 //dr.BeginEdit(); //dr.EndEdit(); 貌似這兩句主要是數據綁定到控制項的時候才用 for (int i = 0; i < table.Rows.Count; i++) //修改table中每一行的內容 { dr = table.Rows[i]; dr["f"] = 3; //欄位名為f } //testB表中必須存在主鍵,否則無法更新// ****** 這個很重要 ***** sqlAdap.Update(table); //sqlAdap.Update(dtst, "testB"); sqlConnection.Close(); MessageBox.Show("aa"); 下面是DataTable與dataGridView 控制項綁定,當dataGridView中的數據改變時,更新資料庫的代碼: DataTable和dataGridView控制項綁定代碼:private void Form1_Load(object sender, EventArgs e) { string sqlConnectionString = "Data Source=ComputerName-PC;Initial Catalog=charge_sys;User ID=sa;PWD=123456;"; SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);//初始化sqlconnection DataTable table = new DataTable(); SqlDataAdapter sqlAdap = new SqlDataAdapter("select * from testB ", sqlConnection); sqlConnection.Open(); sqlAdap.Fill(table); sqlConnection.Close(); //將testB表中的數據顯示在dataGridView中 this.dataGridView1.DataSource = table; } 實現將dataGridView中的改動更新到資料庫代碼:private void butUpdate_Click(object sender, EventArgs e) { DataTable table = new DataTable(); table = (DataTable)this.dataGridView1.DataSource; string sqlConnectionString = "Data Source=WangHaitao-PC;Initial Catalog=charge_sys;User ID=sa;PWD=123456;"; SqlConnection sqlConnection = new SqlConnection(sqlConnectionString); SqlCommand sqlCommand = new SqlCommand("select * from testB", sqlConnection); SqlDataAdapter sqlAdap = new SqlDataAdapter(sqlCommand); SqlCommandBuilder sqlBuilder = new SqlCommandBuilder(sqlAdap);//必須有 sqlConnection.Open(); sqlAdap.Fill(table); //testB表中必須存在主鍵,否則無法更新 sqlAdap.Update(table); sqlConnection.Close(); MessageBox.Show("aa"); }

❺ C#如何把DataTable更新到Access資料庫

publicstaticvoidUpdateAccess(DataTabletemp)
{
OleDbConnectioncon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Datasource=Data.MDB;PersistSecurityInfo=False;JetOLEDB:DatabasePassword=");
try
{
con.Open();
OleDbDataAdapterBada=newOleDbDataAdapter("SELECT*FROMTotalDatawhere1=2",con);//建立一個DataAdapter對象
OleDbCommandBuildercb=newOleDbCommandBuilder(Bada);//這里的CommandBuilder對象一定不要忘了,一般就是寫在DataAdapter定義的後面
cb.QuotePrefix="[";
cb.QuoteSuffix="]";
DataSetds=newDataSet();//建立DataSet對象
Bada.Fill(ds,"demo");//填充DataSet
foreach(DataRowtempRowintemp.Rows)
{
DataRowdr=ds.Tables["demo"].NewRow();
dr.ItemArray=tempRow.ItemArray;//行復制
ds.Tables["demo"].Rows.Add(dr);
}
Bada.Update(ds,"demo");//用DataAdapter的Update()方法進行資料庫的更新
}
catch(Exceptionex)
{
Console.WriteLine(ex.ToString());
}
finally
{
con.Close();
}
}

熱點內容
pythondictinlist 發布:2025-03-09 09:24:05 瀏覽:937
單身解壓 發布:2025-03-09 09:19:24 瀏覽:430
圖片分布式存儲方案 發布:2025-03-09 08:54:49 瀏覽:58
火影手游競技場腳本 發布:2025-03-09 08:48:31 瀏覽:743
電腦如何訪問谷歌 發布:2025-03-09 08:39:37 瀏覽:173
安卓怎麼多開微信 發布:2025-03-09 08:34:02 瀏覽:595
怎麼看金蝶伺服器的ip地址 發布:2025-03-09 08:33:59 瀏覽:270
pyc在線反編譯 發布:2025-03-09 08:33:17 瀏覽:934
天龍極速腳本 發布:2025-03-09 08:33:09 瀏覽:977
刀劍神域伺服器維護到什麼時候 發布:2025-03-09 08:31:40 瀏覽:218