[除錯] 字串轉換有問題

看板C_Sharp作者 (我 有我的倔強...)時間18年前 (2006/11/16 16:26), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/2 (看更多)
不好意思,又來麻煩大家..( ̄▽ ̄#)﹏﹏ 我想寫一個字串轉換的功能 白話一點說,想把地址中"1段"轉為"一段","2段"轉為"二段"…以此類推 我的問題是,測試了十筆,只有第一筆成功> < 真相在這裡:http://photo.xuite.net/chiulin.wei/1190750/1.jpg
另外再問個問題,寫網頁時,我知道資料庫連結字串可以存在web.config 然後再利用ConfigurationManager.AppSettings去連資料庫 寫windows form時也知道資料庫連結字串是存在app.config 但是卻沒辦法利用ConfigurationManager.AppSettings去讀取字串,是為什麼呢?? 我的程式如下: private void Form1_Load(object sender, EventArgs e) { //連結資料庫 string connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\test.mdb"; OleDbConnection myConn = new OleDbConnection(connStr); string SQLquery = "SELECT * From table1"; OleDbCommand myCommand = new OleDbCommand(SQLquery,myConn); myConn.Open(); OleDbDataReader myReader = myCommand.ExecuteReader(); for (int i = 0; i < 11; i++) { myReader.Read(); //地址資料存在第四個欄位 //rtbMsg是RichTextBox控制項 rtbMsg.Text += myReader[3] + " "; rtbMsg.Text += "\n"; //把資料中的全型數字先轉成半型 string strconv = Strings.StrConv(myReader[3].ToString(), VbStrConv.Narrow, 0); //section是我用來把段名從數字轉國字的方法 string cstr = section(strconv); rtbMsg.Text += cstr + "\n"; } myReader.Close(); myConn.Close(); } private string section(string org) { string strNew=""; string strOld=""; for (int i = 15; i > 0; i--) { strOld = i.ToString() + "段"; //用迴圈去找傳過來的地址字串裡如果有包含"x段" //就再利用switch去把數字段名轉為國字段名 if (org.Contains(strOld)) { switch (i) { case 1: strNew = "一段"; break; case 2: strNew = "二段"; break; case 3: strNew = "三段"; break; : (略) case 15: strNew = "十五段"; break; default: strNew = "零段"; break; } // end switch } //end if } //end for string cstr = org.Replace(strOld, strNew); return cstr; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.64.235

11/17 03:12, , 1F
為什麼不用Regular Expression @@?
11/17 03:12, 1F

11/17 16:14, , 2F
就是說...一行就搞定的東西
11/17 16:14, 2F

11/21 09:16, , 3F
一行?. ? 我有稍微去讀了一些RE的東西,可是阿拉伯數字轉國字
11/21 09:16, 3F

11/21 09:17, , 4F
除了用迴圈,還有用其他方式嗎??
11/21 09:17, 4F
文章代碼(AID): #15N22VUo (C_Sharp)
文章代碼(AID): #15N22VUo (C_Sharp)