初心者なので説明不足などあると思いますが、よろしくお願いいたします。
###前提
VB.netを使いSQL serverに接続し住所録を作成しています。
テキストに入力されている値・文字をDBに追加することはできました。
追加ボタンを押したときに自動で採番をするという機能を実装したいです。
システム内で採番する機能を実装したいです。
###実現したいこと
1.SELECT文で最大値を取得してきてその値を変数に入れ採番するようにしたいです。
2.データがないときに最大値を取得できないのでその時の処理の仕方がわからないです。
###該当のソースコード 【一部抜粋】追加ボタンを押したら処理
Dim strSQL2 As String = "" strSQL2 = "SELECT MAX(ID) FROM テーブル名" Dim ID As Integer Dim strSQL As String = "" strSQL = "INSERT INTO テーブル名 VALUES " & _ " ('ID', " & _ " '" & Text名前.Text & "' , '" & Textカナ.Text & "', " & _ " '" & Text郵便.Text & "', '" & Text住所1.Text & "', " & _ " '" & Text住所2.Text & "', '" & Text住所3.Text & "', " & _ " '" & Text住所1カナ.Text & "', '" & Text住所2カナ.Text & "', " & _ " '" & Text住所3カナ.Text & "', " & Text電話番号.Text & ", " & _ " " & TextFAX番号.Text & ", " & _ " '" & Textメールアドレス.Text & "', " & _ " '" & Text誕生日.Text & "', " & _ " '','" & dtToday.ToString() & "', " & _ "'' )" SQLCm.CommandText = strSQL Cn.Open() SQLCm.ExecuteNonQuery() Cn.Close() MsgBox("登録しました。")
###試したこと
INSERT文の中のIDと書かれているところにSELECT文(SELECT MAX(ID) FROM テーブル名)を入れてみると採番はすることができましたが
データがないときにエラーとなってしまいました。
後、採番ができても順番がバラバラになってしまいORDER BYも入力したらエラーになります。
###補足情報(言語/FW/ツール等のバージョンなど)
言語 VB.NET
ツール Visual Studio 2010
SQLServer
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/25 04:11