[除錯] update資料庫
又來麻煩各位提供意見了~
我的資料庫(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
11/29 20:41, 1F
推
11/29 23:46, , 2F
11/29 23:46, 2F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章