c# - MySqlDataAdapter使用Update以后在使用Fill填充Table時得不到數據
問題描述
在wpf中從數據庫讀取到的數據binding到DataGrid,然后將修改后的DataTable更新到數據庫中第一次select查詢以及綁定沒有問題,updateDataTable到數據庫,數據庫中的數據被更新,然后再次使用select的時候就再也查詢不到數據,重新聲明這個類都沒有效果,除非重啟軟件,請問是那里出的問題,代碼如下:
public class IDbMysql{ MySqlConnection db_conn; public IDbMysql(string ip, int port, string userName, string userPwd, string database) {string str_db_conn = string.Format('Server={0};Port={1};Database={2};Username={3};Password={4};charset=utf8;', ip, port, database, userName, userPwd);db_conn = new MySqlConnection(str_db_conn);db_conn.Open(); } public DataTable select(string db_string) {DataTable dt = new DataTable();MySqlDataAdapter adapter = new MySqlDataAdapter(db_string, db_conn);adapter.Fill(dt);return dt; } public int updateDataTable(string db_string, DataTable db_datatable) {int ret = -1;MySqlDataAdapter adapter = new MySqlDataAdapter(db_string, db_conn);MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);ret = adapter.Update(db_datatable);return ret; }}
調用函數過程:
IDbMysql db = new IDbMysql();DataTable dt = db.select('select * from tableA');// 這里是對dt的修改,省略一些代碼db.updateDataTable(dt); // 這里執行都是成功的,數據庫也修改了DataTable dtNew = db.select('select * from tableA'); // 這里就查詢不到數據了,然會0條數據,但是數據庫里面是可以看到數據的
問題解答
回答1:碰到同樣的問題,求助怎么解決的
相關文章:
1. css - 新手做響應式布局, 斷點過后右側出現空白,求幫助,謝謝。2. javascript - 關于<a>元素與<input>元素的JS事件運行問題3. javascript - ES6 中能否把 class 屬性 方法 分文件?4. python - 能通過CAN控制一部普通的家用轎車嗎?5. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。6. mysql - 記得以前在哪里看過一個估算時間的網站7. ID主鍵不是自增的嗎 為什么還要加null8. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網站的內容。9. MySQL中的enum類型有什么優點?10. css - 關于border-image
