none
VB使用ACCESS連接資料庫後 若資料重複時 RRS feed

  • 問題

  • 最近課題需要弄一個個人資料登錄的資料庫還要自帶發送電郵.

    資料庫的初步都已經輸入好了 但登錄個人資料時,電郵重複的話 發電郵就可能發重複.想問如果想他在表單輸入電郵的時侯 電郵重複時會發通知給我及禁止輸該入什麼CODE?

     If txtMail.Text = "" Then
                MsgBox("請輸入電郵。")
                Exit Sub
            End If
            Dim bOk As Boolean = True '假設OK
          

            'MAIL正規表現檢查'
            If Regex.IsMatch(txtMail.Text, "[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+") Then
            Else
                MsgBox("電郵格式不正確。")
                bOk = False
            End If

    若能私下交換電郵,用電郵教在下的人,不勝感激...

    謝謝

    • 已編輯 VB學生 2016年1月5日 下午 01:47
    2016年1月5日 下午 01:36

解答

  • 這不需要 while 或 for 吧。

    只要在 INSERT 資料前先用 SELECT 檢查 Email 是否己經存在,有的話就中斷程式,沒有就繼續跑。

    其他的,請把前幾樓的文章讀一讀吧。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2016年1月5日 下午 03:16
    版主

所有回覆

  • 不就用這個電郵當條件, 查詢資料表內有沒有一樣的資料就可以了嗎 ?

    資料庫存取, 可善用以下文件

    ADO.NET


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年1月5日 下午 01:57
    版主
  • 可否詳細再說明一下...就我以上的位置該改動什麼,因為我學VB的時間尚淺 不太懂,抱歉

    若是我提供的資料不足..我可以貼更多上來

    • 已編輯 VB學生 2016年1月5日 下午 02:05
    2016年1月5日 下午 02:04
  • 你得先學會怎麼用 Visual Basic 連接到 Access 資料庫, 並且對其做增刪改查.

    以下的 Lab 是一個好的起點

    如何使用 Microsoft 」 Visual Basic.NET,連線到 Microsoft Access 資料庫,以及擷取資料

    這個 lab 做完, 再仔細學學剛剛給的 ADO.NET 的內容

    尤其以下這一段

    擷取和修改 ADO.NET 中的資料

    國外有一些教學你也可以看看

    Visual Basic Express and Databases - the easy way

    Programming in Visual Basic .Net How to Connect Access Database to VB.Net


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年1月5日 下午 02:43
    版主
  • 資料庫我是已經連接好了 也有試過在ACCESS裡設定禁止重複...但這樣會使VB裡輸入相同電郵時會彈出錯誤 然後關閉

    我現在是想 如果我在VB裡執行資料庫時 在輸入相同電郵的時侯 出現禁止輸入和禁止輸入的通知  想知道 該用什麼CODE..老師只說過用WHILE文或FOR文可以設定  但詳細不知道怎麼輸入


    • 已編輯 VB學生 2016年1月5日 下午 03:13
    2016年1月5日 下午 03:08
  • 這不需要 while 或 for 吧。

    只要在 INSERT 資料前先用 SELECT 檢查 Email 是否己經存在,有的話就中斷程式,沒有就繼續跑。

    其他的,請把前幾樓的文章讀一讀吧。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2016年1月5日 下午 03:16
    版主
  • 簡單一點就是把 eMail 欄位設為 PK ,插入錯誤就表示重複。

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2016年1月5日 下午 03:50
  • 我是想在(MAIL)那一項如果重複輸入時 會禁止輸入和出現通知(MSGBOX)

    例如test@test.jp 在下一個人再輸入時會因重複而輸入不了 再出現警告(msgbox)這樣

    請問能再詳細說一下大約該怎麼輸入嗎


    • 已編輯 VB學生 2016年1月5日 下午 04:18
    2016年1月5日 下午 04:13