Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2377|回复: 39
打印 上一主题 下一主题

VB.NET疑问

[复制链接]

2

主题

0

好友

188

积分

高级会员

Rank: 3Rank: 3Rank: 3

跳转到指定楼层
1#
发表于 2013-3-25 08:30 PM |只看该作者 |倒序浏览
请问下这个Code的问题在哪里?当我输入 ID,Pass,FirstName都符合Database,但是LasNamet不符合的话它也会成功进入Insert Data的情况然后会出现error因为有些Data重复了.


Dim DBCon As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Kini\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsApplication1\bin\Debug\VB.accdb")
            Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Staff WHERE StaffID ='" & txtStaffID.Text & "' and Password = '" & txtPass.Text & "' and  UserFirstName= '" & txtFN.Text & "' and UserLastName= '" & txtLN.Text & "'", DBCon)
            DBCon.Open()
            Dim sdr As OleDbDataReader = cmd.ExecuteReader()
            If (sdr.Read() = True) Then
                MessageBox.Show("The data entered already exist!", "System Information")
                sdr.Close()
                DBCon.Close()
            ElseIf (sdr.Read() = False) Then
                Dim cmd2 As String
                Dim DBCon2 As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Kini\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsApplication1\bin\Debug\VB.accdb")
                cmd2 = "INSERT INTO Staff Values ( '" & txtStaffID.Text & "', '" & txtPass.Text & "','" & txtFN.Text & "', '" & txtLN.Text & "')"
                Dim sdr2 As OleDbCommand
                sdr2 = New OleDbCommand(cmd2, DBCon2)
                DBCon2.Open()
                Dim objcmd As OleDbCommand
                objcmd = New OleDbCommand(cmd2, DBCon2)
                objcmd.ExecuteNonQuery()
                DBCon2.Close()
                valid5 = True
            End If
        End If




收藏收藏0

92

主题

8

好友

4470

积分

一流名嘴

来者何人

Rank: 12Rank: 12Rank: 12

2#
发表于 2013-3-25 08:35 PM |只看该作者
可能你的primary key 重複~


回复

使用道具 举报

2

主题

0

好友

542

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

3#
发表于 2013-3-25 08:51 PM |只看该作者
lz的error是什么??


回复

使用道具 举报

2

主题

0

好友

188

积分

高级会员

Rank: 3Rank: 3Rank: 3

4#
发表于 2013-3-25 09:50 PM |只看该作者
ぁあぃ← 发表于 2013-3-25 08:35 PM
可能你的primary key 重複~

但是除了描述的问题以外...就不会出现error了@@


回复

使用道具 举报

2

主题

0

好友

188

积分

高级会员

Rank: 3Rank: 3Rank: 3

5#
发表于 2013-3-25 09:57 PM |只看该作者
suki89 发表于 2013-3-25 08:51 PM
lz的error是什么??

你好
比如说:
Type                Database          Insert
ID                     Haha                 Haha
Pass                 Hahaha             Hahaha
FirstaName      Hahahaha         Hahahaha
LastName        Hoho                 Haha
Database是我原有的资料,然后Insert是要加入的资料
因为LastName是Database里面找不到的所以会进入Insert condition
但是因为里面有相同的资料比如 ID=Haha Insert= Haha
出现重复所以不能Insert而cmd.executenonquery()出现错误
但是我已经写了 If sdr= false才可以进入
然后我有试过把每一样东西 ID,Pass,FirstName,LastName都各用一个Valid
然后变成 If valid1, valid2, valid3, valid4= false才进入condition...但是这样过后就Insert不到资料了


回复

使用道具 举报

2

主题

0

好友

542

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

6#
发表于 2013-3-25 10:09 PM |只看该作者
Kinni 发表于 2013-3-25 09:57 PM
你好
比如说:
Type                Database          Insert

error message是什么?


回复

使用道具 举报

2

主题

0

好友

188

积分

高级会员

Rank: 3Rank: 3Rank: 3

7#
发表于 2013-3-25 10:11 PM |只看该作者
suki89 发表于 2013-3-25 10:09 PM
error message是什么?

objcmd.ExecuteNonQuery()出现重复


回复

使用道具 举报

2

主题

0

好友

188

积分

高级会员

Rank: 3Rank: 3Rank: 3

8#
发表于 2013-3-25 10:12 PM |只看该作者
suki89 发表于 2013-3-25 10:09 PM
error message是什么?

顺便问问....为什么我的Error Message是华语??但是User Interface 是英文的= =


回复

使用道具 举报

2

主题

0

好友

542

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

9#
发表于 2013-3-25 10:13 PM |只看该作者
Kinni 发表于 2013-3-25 10:11 PM
objcmd.ExecuteNonQuery()出现重复

你的error message是华语的??!!


回复

使用道具 举报

2

主题

0

好友

542

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

10#
发表于 2013-3-25 10:25 PM |只看该作者
Kinni 发表于 2013-3-25 10:12 PM
顺便问问....为什么我的Error Message是华语??但是User Interface 是英文的= =

去setting调看看吧。
lz你的sdr.Read() = False过后没close reader耶。
把 sdr.Close() 和 DBCon.Close() 加在sdr.Read() = False后,在试试看还会有问题吗。

小小建议:如果DBCon是一样的Connection的话,就不要放那么多,program会变慢,自己看了也乱。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-13 11:41 AM , Processed in 0.118596 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部