• ベストアンサー

文字が?に

お世話になります。 VB.Net2003 Access2003 Windowsサーバー2003 SQLサーバー2000 という環境で開発を行っていますVB.Net初心者です。 実は特殊な漢字になると思うのですが例えば「侁」とか「暭」というような文字をAccess2003からやエンタープライズマネージャーでSQLサーバーに保存したときはなんら問題は無いのですがVB.Net2003で開発したプログラムでUPDATEをやINSERTを実行したとき「?」として保存されてしまいます。 何故なんでしょう?そしてよい解決方法があればご教授いただきたいのですが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

お世話になります。 N を付けると、文字化けしないと思います。 Dim con As SqlClient.SqlConnection = New SqlClient.SqlConnection con.ConnectionString = "Data Source=(local);Initial Catalog=Test;User Id=test_sql;Password=test_sql;" con.Open() Dim UpdateCommand As SqlClient.SqlCommand UpdateCommand = New SqlClient.SqlCommand UpdateCommand.Connection = con UpdateCommand.CommandText = "UPDATE Table1 SET bbb =N'" + Me.TextBox1.Text + "' WHERE aaa = 'a'" Dim effect As Integer = UpdateCommand.ExecuteNonQuery() con.Close() con.Dispose()

wingtodo
質問者

お礼

ありがとうございます!!! たすかりました!

関連するQ&A

  • varchar型の入力できる最大文字数について

    varcharでサイズを8000にしたフィールドに1000文字(例えば’aaa・・・「a」を1000文字・・・’)INSERTした後にそのフィールドをSELECTすると256文字しか入っていません。どうしてなんでしょうか? SELECT、INSERTなどのSQLの実行は”クエリ アナライザ”や”SQL Server Enterprise Manager”で試しました。 SQLServer初心者です。何卒宜しくお願い致します。

  • Access97からAccess2003に移行したときの問題点

    VB4→VB6へ、SQLサーバ7→2000へ、Access97→2003へ移行を行っています。 旧システムでは、約5秒で完了する処理が、移行後は、2分51秒かかります。 どのような処理かというと、  1.SQLサーバのデータをSELECT  2.AccessのテーブルにINSERT(もしくは、UPDATE)  3.Accessのクエリ実行  4.Accessのレポート表示 です。 新旧比較してみたのですが、1.SQLサーバのデータのSelectは、差はありません。 2.AccessのテーブルにInsertでは、  Access97は、1秒、2003は、45秒です。 Updateとなると、Access97では、4秒、2003は、2分5秒となりました。 新システムの方が、遅くて性能が悪いようです。 どのように、チューニングしたらよいでしょうか? また、原因等、ご存知でしたら、教えていただけないでしょうか? よろしくお願いします。

  • VBでSQL

    題の通りなのですが VBでSQLサーバ上のデータベースを操作したいのです 接続はできたのですが、 SQL文をVB上で実行するやり方がわかりません いろいろ試してみたのですが、 オブジェクトがないとか言われてしまいました。 初心者なので意味がよくわからず困っています。 アップデート、インサートなどをします。 本当に困っています。 よろしくお願いします。

  • レコードセットの値 SelectとINSERT,UPDATE,Deleteで異なる?

    VB6でSQL Server2005をADOでアクセスしていますが、基本的なことですが、SELECT文の場合はrs.closeしてもエラーになりませんが、INSERT,UPDATE,DELETEの場合は、rs.closeとすると、 実行時エラー3704 オブジェクトが閉じている場合は、操作は許可されません。 というエラーメッセージが表示されます。 SQLは以下のように実行しています。 Call rs.Open(cobSQL.Text, cn, adLockOptimistic) VB6でSQL SERVER2005(もしくは2000)でデータベースアプリを作成するのに参考になる良書などご存知でしたら教えてください。 また、VB6でADOは、ネイティブにSQL Server2005にアクセスできるのでしょうか?まだADOやデータベースの概念が良くわかっていないため、質問自体がおかしいかもしれませんが、VB6で高速にSQL SERVER 2005で処理させたいのが私の現時点での目標です。

  • SQLserverについて

    SQLの勉強を兼ねて、SQLserver を インストールして使ってみたいのですが、 特にサーバーなど立てずに、 スタンドアローンの環境で SQLserverをインストールして ローカルのACCESS のmdbに接続して SQL文など実行出来るのでしょうか? (Enterprise Manager は 使えるのでしょうか?) よろしくお願いします。

  • SQL2008はVB6.0に対応していますか?

    SQL2008はVB6.0に対応していますか? VB6.0でプログラムを開発し、SQL7.0を使っていました。 サーバの老朽化で、サーバを変更するので、 それに伴いSQL7.0からSQL2008に変更する予定です。 質問ですが、 今までVB6.0で開発してきたプログラムはSQL2008でも 問題なく、稼動するでしょうか もし、稼動しない場合はどのようにしたらよいでしょうか よろしくお願いします。

  • VBからサーバーへ

    初めてVBプログラミングをしようとしているものです。VBでサーバーに接続する方法がよく分かりません。アクセスに接続する方法はなんと無く理解できたのですが、SQLサーバへの接続方法がイメージがつかめないんです。プログラムは何人かが共通して利用できるものを考えています。どうかご教授のほどよろしくお願いします。 サーバー 2000 SQLサーバ2003 開発クライアントPC W2K VB6

  • SQL文について

    開発言語:VB2010 DB:SqlServer2005 及び ACCESS2007 SQLサーバーのテーブルをAccessのテーブルへINSERTしたいのですが、 一文で行う事は可能でしょうか? (テーブルの構造は全く同じです) 同じDB内であれば、下記のような感じで出来ると思うんですが。 +----------------------------------+ INSERT into Atest_ACCESS SELECT * FROM Btest_SQL Where OperationDate => 2011/09/05 +----------------------------------+ 出来るのあればどのようにすれば良いのが教えて頂けると幸いです。 よろしくお願い致します。

  • VBで作成したパッケージを実行すると実行時エラー'429'が発生してしまいます。

    VBにてcsvファイルのデータをOracleデータベースにinsert、updateするプログラムを作成し、開発パソコンにて正常に動作することを確認しました。 開発パソコン ・Windows2000 Server(SP3) ・Visual Basic 6.0 Enterprise Edition ・Oracle 9i 本番パソコン ・Windows2000 Server(SP3) ・Oracle 9i テストパソコン ・Windows2000 Professional(SP1) 今、上記のように3台のパソコンがあります。 開発パソコンで開発したVBのプログラムをコンパイルしてexeを作成し、開発パソコン上から開発パソコン上のオラクルに対してプログラムを実行すると正常に動作します。 本番パソコンには、Visual Basicをインストールしていないため、プログラムを実行できるようにするには開発パソコンにてディストリビューションウィザードを使ってセットアッププログラムを作成し、本番パソコンにインストールする必要があると思います(質問1.ここまでは正しいですよね??)。 そこでウィザードに沿ってセットアッププログラムを作成し、まずはテストパソコンにてインストール後に実行してみたのですが、エラーが出てしまいました。 「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません。」 質問2.どうすればエラーが発生することなくプログラムを実行できるようになるでしょうか? テストパソコンにオラクルクライアントが必要?それとも何かDLLの更新などが必要? もしおわかりの方いらっしゃいましたら教えて下さい。 よろしくお願いします。

  • クライアントとサーバーの接続確認方法について

    VB2005とSQLとSERVER2005の接続について 以下のような環境で動作するクライアントのプログラムを開発しています。 「DBサーバー」 WindowsXPSP3 DB:SQL-SERVER2005 「クライアント」 WindowsXPSP3 開発:VB2005 上記、クライアントでたまに、スタンドアローンで動作させる必要があるため、 スタンドアローンの場合、サーバーへはアクセスしないようにしたいのですが クライアントとサーバーが接続しているか確認したいのですが VB2005でどうすればいいでしょうか? 現状ですと、スタンダローンで動作していても、サーバーにアクセスしにいき タイムアウト(?)するまで、待っている状態でいます。 待つことをやめたいので、スタンドアローンで動作している場合、はアクセスしに 行かないようにしたいのですが。 どうか御教授ください。よろしくお願いします。