[除錯] update資料庫

看板C_Sharp (C#)作者 (我 有我的倔強...)時間19年前 (2006/11/29 16:30), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
又來麻煩各位提供意見了~ 我的資料庫(access)裡有12張資料表,要寫資料更新的功能 update的動作就是把每一張資料表,地址資料欄位中的"x鄰"拿掉 地址資料內容也是有規律的 ex:台北市xx鄰xx路x段xxx號 所以我用的方法是 利用Substring去分別截取"台北市"這一段字串以及"鄰"之後剩餘的字串 接著再把這兩段截取出來的字串合併後,更新回資料表 我遇到的問題就是如下方列示的程式,當我加入以下兩行 OleDbCommand updateComm = new OleDbCommand(UpdateAddrQuery, myConn); updateComm.ExecuteNonQuery(); 預期中應該是資料表中的每筆資料都去掉鄰才對 卻出現這個結果http://photo.xuite.net/chiulin.wei/1190750/2.jpg
有試過把這兩行註解掉去輸出 strOldAddr以及strNewAddr到表單上都很正常 http://photo.xuite.net/chiulin.wei/1190750/3.jpg
也在註解的情況下去trace UpdateAddrQuery內容 http://photo.xuite.net/chiulin.wei/1190750/4.jpg
完整程式內容如下: //把資料表名稱存在陣列中 String[] Area = new String[12] { "客戶1", "客戶2", "客戶3", "客戶4", "客戶5", "客戶6", "客戶7", "客戶8", "客戶9", "客戶10", "客戶11", "客戶12" }; String strOldAddr = ""; //用來存放資料表每筆記錄的原始資料 String strNewAddr = ""; //用來存放要更新回資料表的資料 string SQLquery = ""; //SQL statement String UpdateAddrQuery = ""; //SQL statement string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\customer.mdb"; OleDbConnection myConn = new OleDbConnection(connStr); //foreach用來巡覽每一張資料表 foreach (String a in Area) { myConn.Open(); //欄位1放的就是地址資料, //利用foreach去select出12張資料表以進行資料更新的動作 SQLquery = "SELECT 欄位1 From " + a + ";"; OleDbCommand myCommand = new OleDbCommand(SQLquery, myConn); OleDbDataReader myReader = myCommand.ExecuteReader(); //沒有用while(myReader.Read())是因為資料有很多筆 //所以利用for迴圈先測試每張資料表的前十筆更新資料是否有正常 for (int i = 0; i < 10; i++) { myReader.Read(); strOldAddr = myReader[0].ToString(); //取出原始地址資料 int city = strOldAddr.IndexOf("市"); //找出"市"的索引位置 int lin = strOldAddr.IndexOf("鄰"); //找出"鄰"的索引位置 //從原始資料截取字串,放到strNewAddr strNewAddr = strOldAddr.Substring(0, city + 1) + strOldAddr.Substring(lin + 1, strOldAddr.Length - lin - 1); UpdateAddrQuery = "UPDATE " + a + " Set 欄位1 = '" + strNewAddr + "';"; //有問題的敘述 OleDbCommand updateComm = new OleDbCommand(UpdateAddrQuery, myConn); updateComm.ExecuteNonQuery(); } //end for myReader.Close(); myConn.Close(); }//end foreach -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.64.235 ※ 編輯: Uihc 來自: 140.112.64.235 (11/29 17:25)

11/29 20:41, , 1F
update沒有加where....
11/29 20:41, 1F

11/29 23:46, , 2F
啊...對厚...問題可能就是出在這裡.來去試試 感恩..<(_ _)>
11/29 23:46, 2F
文章代碼(AID): #15RKK-zU (C_Sharp)
文章代碼(AID): #15RKK-zU (C_Sharp)