前提・実現したいこと
個人情報テーブルからNO 00001を取得して
もしデータが存在すればアップデート
存在しない場合は追加する
発生している問題・エラーメッセージ
**cn** が Nothing でした。
該当のソースコード
VB.NET
1 '入力チェック 2 If (Label1.Text.Length = 0) Then 3 MsgBox("データ異常") 4 Exit Sub 5 End If 6 'インスタンス化 7 Dim cn As New clsSQL 8 'label1.textに表示されている文字列からstringreaderというインスタンスを作成 9 Dim rs As New System.IO.StringReader(Label1.Text) 10 11 Dim stresult As String = String.Empty 12 '端末まで繰り返す 13 While rs.Peek() > -1 14 'rs.ReadLine() 15 16 Dim x As String = rs.ReadLine 17 18 19 Dim 分解() As String = x.Split(","c) 20 21 'データベースに接続する設定をプロパティにセット 22 cn.ConnectionString = "Data Source=PALNET-D07\SQL2017;Initial Catalog=TestDB;User ID=sa;Password=''" 23 24 'トランザクション開始 25 cn.BeginTrans() 26 27 '個人情報テーブルからデータ取得 28 29 cn._Select("select * from 個人情報 where NO ='00001' order by no") 30 'もしデータが存在すればUPDATEする 31 If cn.EOF = True Then 32 Dim update1 As String = "UPDATE 個人情報テーブル SET no 00001 = no 00001" 33 cn._Execute(update1) 34 35 Else 36 '存在しないなら追加する 37 Dim insert1 As String = "insert into 個人情報(NO) values (NO 00001)" 38 cn._Execute(insert1) 39 40 End If 41 '書き込み開始 42 cn.Update() 43 If cn.ErrorMessage = "" Then 44 '確定 45 cn.Commit() 46 Else 47 '巻き戻し 48 cn.Rollback() 49 End If 50 51 'データベース切断 52 cn.Close() 53 cn = Nothing 54 For Each c In 分解 55 Console.WriteLine(c) 56 Next 57 Console.WriteLine(分解.Length)
補足情報(FW/ツールのバージョンなど)
ビジュアルスタジオ2019
コードを動かしてからじゃないですかね
https://teratail.com/questions/347294
> radian 2021/07/02 16:11 編集
>・ソースコードは```と```の間に書いてください。
>・開発環境を記入してください。
>(.NET FrameworkやVisualStudioのバージョン、使用しているDBやライブラリがあればそれらのも)
> 不慣れなら質問のテンプレートを使用して質問してください。
> Chloe____ 2021/07/02 16:14
>分かりましたすいません
>開発環境はVisualStudioです
何一つ言葉が通じてない。
荒らしか、荒らしてるつもりがなくてもそれに準ずる人だなコレは…。
clsSQLがどうなってるのかわからないので何ともですが、「**cn** が Nothing でした。」とエラーがでる以上、そこを解決くださいとしか。引数の値の形式があってるのかも何も判断できません。
回答1件
あなたの回答
tips
プレビュー