C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: SQLサーバでVBの関数を使用したい
(過去ログ 129 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■76581
/ inTopicNo.1)
SQLサーバでVBの関数を使用したい
▼
■
□投稿者/ ようこ
(1回)-(2015/07/24(Fri) 11:01:54)
分類:[.NET 全般]
お世話になります。
VS2010を使用しております。
SQLサーバでVBの関数(全角を半角に変更する)関数を使用したいのですが、そんなことは可能でしょうか?
下記のように追加クエリを実施しているのですが受注
NO2
は全角で入っている場合もあるため、半角に変換して追加したく思います。
SQLで全角から半角に変換する関数は存在しないみたいでした。
parameters.addwithvalueなどを使用し、VBの関数(StrConv関数)を使用して半角に変換する方法はございませんでしょうか?
よろしくお願いします。
dim SQL as string
SQL = "insert into " _
& "TK1002_赤伝データ(受注NO)" _
& " select 受注
NO2
" _
& " from " _
& "T102_受注入力"
引用返信
編集キー/
編集
■76582
/ inTopicNo.2)
Re[1]: SQLサーバでVBの関数を使用したい
▲
▼
■
□投稿者/ WebSurfer
(629回)-(2015/07/24(Fri) 11:26:40)
■
No76581
(ようこ さん) に返信
「SQLサーバ」とは何ですか? 正しい製品名、バージョン、エディションは書けませんか?
SQL Server であるとすると、デフォルトでインストールすると照合順序は、Japanese_CI_AS
となって、半角 / 全角を区別しないのですが、そのあたりは理解されているでしょうか?
何にせよ、クエリに「VBの関数(全角を半角に変更する)関数を使用」はできないので、
クエリとして SQL Server に渡す前に VB.NET のコードで何とかするほかなさそうです。
引用返信
編集キー/
編集
■76584
/ inTopicNo.3)
Re[2]: SQLサーバでVBの関数を使用したい
▲
▼
■
□投稿者/ PANG2
(87回)-(2015/07/24(Fri) 11:52:45)
SQL CLRとか
引用返信
編集キー/
編集
■76585
/ inTopicNo.4)
Re[1]: SQLサーバでVBの関数を使用したい
▲
▼
■
□投稿者/ 魔界の仮面弁士
(424回)-(2015/07/24(Fri) 12:31:28)
■
No76581
(ようこ さん) に返信
> SQLサーバでVBの関数(全角を半角に変更する)関数を使用したいのですが、そんなことは可能でしょうか?
半角の文字数はさほど多くないので、力技でおきかえてしまうとか。
http://babydaemons.hatenablog.com/entry/20080226/1210302971
> parameters.addwithvalueなどを使用し
AddWithValue の利用はお奨めしません。きちんと型を明示しましょう。
http://2next.me/archives/274
> VBの関数(StrConv関数)を使用して半角に変換する方法はございませんでしょうか?
SQL CLR を試してみるとか。
http://www.sunvisor.net/db/sqlclr/sqlstrconv
https://code.msdn.microsoft.com/windowsdesktop/10-SQLCLR-VB-b0f8af58
引用返信
編集キー/
編集
■76588
/ inTopicNo.5)
Re[1]: SQLサーバでVBの関数を使用したい
▲
▼
■
□投稿者/ WebSurfer
(631回)-(2015/07/26(Sun) 11:17:40)
■
No76581
(ようこ さん) に返信
最初に言うべきことだったかも知れませんが・・・
ユーザー入力でクエリの文字列を組み立てているように見えますが、もしそうなら
それは SQL インジェクションの問題があるので止めましょう。
パラメータ化クエリを用いれば、SQL インジェクションの防止だけでなくパフォー
マンスの向上にも役立ちます。
具体的には、以下の記事を見てください。
パラメータ化クエリ
http://surferonwww.info/BlogEngine/post/2012/02/02/Parameterized-query.aspx
全角 / 半角の変換は、パラメータに値を代入する前に VB.NET のコードで行うか、
それ以前に全角文字のユーザー入力は受け付けないようにしておくことで対応でき
ると思います。
「パラメータに値を代入する」というのは、上の記事のコード(C# ですが)で言
うと以下の部分です。
command.Parameters["@Category"].Value = TextBox1.Text;
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-