投稿者 HARU  (社会人) 投稿日時 2013/7/2 10:42:33
はじめまして。
 VB5.5からVB2012にプログラムを移行しています。
 質問は以下の通りです。

まず、textboxにデータベースから読んだ文字列を表示しています。
NULLの場合には「””」を代入しています。

  If IsDBNull(【データベースの項目】.ToString) = False Then
      textbox1.Text = 【データベースの項目】.ToString
 Else
      textbox1.Text = ""
 End If

この時点で、textboxの表示上問題はありません。
 次にこのtextbox1.textを使ってデータベースをアップデートします。

  "update テーブル set 列名 = '" + textbox1.Text + "' where  条件"

そうすると、アップデートされたデータが、読み込んだデータがNULLだった時には
40文字の空白になっています。
 文字が入っていた場合でも、「文字+空白=40文字」になっています。
データベースは Microsoft Sql Server で、この項目の「長さ」が「40」になっています。

 読み込む時点でNULLだったら、アップデート後もNULLにしたいです。
せめて0文字の空白「””」になっていてくれたらよいのですが、
なぜか40文字になってしまいます。

どうしたらよいのでしょうか?お知恵をお貸しください。