[除錯] 字串轉換有問題
不好意思,又來麻煩大家..( ̄▽ ̄#)﹏﹏
我想寫一個字串轉換的功能
白話一點說,想把地址中"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
11/17 03:12, 1F
推
11/17 16:14, , 2F
11/17 16:14, 2F
推
11/21 09:16, , 3F
11/21 09:16, 3F
→
11/21 09:17, , 4F
11/21 09:17, 4F
討論串 (同標題文章)