■73095 / inTopicNo.1) |
式に未定義関数 'Replace' がありますと表示される |
□投稿者/ タスク (3回)-(2014/08/18(Mon) 21:26:06)
|
分類:[.NET 全般]
OLEDBでローカルにあるCSVファイルを読み取ろうと思っています。
string strSQL = "SELECT ID FROM ["MYCSV.csv"] WHERE REPLACE(TEL番号,'-','') LIKE '" + TextBoxTel.Text + "%'";
dbConnectionStringCSV = "provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" PATH ;Extended Properties='Text;" + "HDR=Yes;FMT=Delimited'";
ole_cn.Open(); //ファイルオープン OleDbCommand ole_cmd = new OleDbCommand(); ole_cmd.Connection = ole_cn; ole_cmd.CommandText = strSQL; var getTel = ole_cmd.ExecuteScalar();
これを実行すると、「式に未定義関数 'Replace' があります。」と例外が発生します。 上記のコードはREPLACE関数を使わなければ問題なく動きます。
色々調べたのですが、下記URLと同じような現象だと思います。 http://stackoverflow.com/questions/4834536/exception-when-trying-to-execute-replace-against-ms-access http://bbs.wankuma.com/index.cgi?mode=al2&namber=6028&KLOG=16
やりたいことは、ローカルCSVの「TEL番号」列には電話番号が入っているのですが、ハイフンが有りではいっています。「0000-00-0000」などです。 TextBoxTelにはハイフン無しの番号を入力して、例えば「0000000000」と入力すると電話番号が「0000-00-0000」のIDが取得できるような事をしたいです。 なんとか実現できる方法はないでしょうか?
環境はC#、Win7です。
|
|