iT邦幫忙

0

VB.NET-如何改成驗證SQL無此資料跳警告訊息

  • 分享至 

  • xImage
        '迴圈檢查所有資料,DB是否有【產品編號】
        For i = 1 To AA
            產品編號 = CType(Me.Page.FindControl("產品編號_" & i), TextBox).Text

            Conn.Open()
            cmd.Connection = Conn
            cmd.CommandText = "SELECT * FROM Pro_A WHERE PPTNo = '" & 產品編號 & "'"
            Response.Write(cmd.CommandText)
            dr = cmd.ExecuteReader()
            SQLT.Text = cmd.CommandText
            '若DB裡有此筆資料,則警告並跳出
            If dr.Read() Then
                myMessage = "資料庫裏有此筆資料!\n請檢查重覆的key值\n【產品編號】:" & 產品編號
                JavaScript = "<script language='javascript'>window.alert('" & myMessage & "');</script>"
                Me.ClientScript.RegisterStartupScript(Me.GetType, "msg", JavaScript)
                dr.Close()
                Conn.Close()
                Exit Sub
            End If
            dr.Close()
            Conn.Close()
        Next

已上為原碼
驗證SQL有無此資料
有的話會出現警告訊息

想要改為
驗證SQL無此資料會出現警告訊息

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
純真的人
iT邦大師 1 級 ‧ 2021-08-19 10:16:51
最佳解答

無此資料0.0...
http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD201211282251586YD.html

If Dr.HasRows Then
    While(Dr.Read())
       '讀取後要處理的事情

    End While
Else
    '沒有資料時要處理的事情

End If
Dr.Close
REX0713 iT邦新手 5 級 ‧ 2021-08-19 10:53:19 檢舉

感謝大大協助
已完成修改

1
allenlwh
iT邦高手 1 級 ‧ 2021-08-19 10:20:40

可以用 reader.HasRows來判斷是否有讀到資料

if (reader.HasRows)
        {
            while (reader.Read())
            {
                //有
            }
        }
        else
        {
            //無
            Console.WriteLine("No rows found.");
        }
REX0713 iT邦新手 5 級 ‧ 2021-08-19 10:53:29 檢舉

感謝大大協助

我要發表回答

立即登入回答