查看: 1306|回复: 5
|
如何用VB。NET 把一个FORM TEXTBOX 的 字PASS 去 另外一个FORM
[复制链接]
|
|
ERROR MSGAn unhandled exception of type 'System.FormatException' occurred in system.data.dll
Additional information: Input string was not in a correct format.
Source Code
Dim objReader As OleDb.OleDbDataReader = OleDbCommand1.ExecuteReader()
显示objReader = nothing
谢谢个位高手了
[ 本帖最后由 Zhixuen 于 18-3-2006 03:02 AM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 17-3-2006 03:53 AM
|
显示全部楼层
对不起问题OK 了。 因为我没关好CONNECTION。。。
现在我又有一个问题。。。
以下是我的CODE
STAFFID 和 PASSWORD 我 SET CHAR 在DATABASE
可是奇怪的是为什么我成功LOGIN 但PASSWORD AND ID CORRECT。
比如我的STAFFID 是 CHIA
但当我KEY IN ID WITH 我 KEY IN ID WITH CHIA123 也算对吗?? 不过问题不出在PASSWORD 那里 ?
SQL --> COMMAND 1 : SELECT Staff.* FROM Staff WHERE (StaffId = ?)
COMMAND 2 :SELECT Password FROM Staff WHERE (StaffId = ?) AND (Password = ?)
source code
OleDbConnection1.Open()
OleDbCommand1.Parameters("StaffId").Value = txtLogin.Text
Dim objReader As OleDb.OleDbDataReader = OleDbCommand1.ExecuteReader()
If objReader.HasRows = True Then
OleDbCommand2.Parameters("StaffId").Value = txtLogin.Text
OleDbCommand2.Parameters("Password").Value = txtpass.Text
OleDbConnection1.Close()
OleDbConnection1.Open()
objReader = OleDbCommand2.ExecuteReader()
If objReader.HasRows = True Then
form.lblUserid.Text = txtLogin.Text
Me.Hide()
form.Show()
form1.Show()
Else
MessageBox.Show("password provided unmatch", "retry", MessageBoxButtons.OK)
txtpass.Focus()
txtpass.Text = ""
End If
Else
MessageBox.Show("Username provided unmatch", "retry", MessageBoxButtons.OK)
txtLogin.Focus()
txtLogin.SelectAll()
End If
objReader.Close()
OleDbConnection1.Close() |
|
|
|
|
|
|
|
发表于 17-3-2006 09:24 AM
|
显示全部楼层
为什么你要先检查 id, 然后再检查 id 和 password? 为什么不一次性检查 id 和 password? |
|
|
|
|
|
|
|
楼主 |
发表于 17-3-2006 10:41 PM
|
显示全部楼层
原帖由 goatstudio 于 17-3-2006 09:24 AM 发表
为什么你要先检查 id, 然后再检查 id 和 password? 为什么不一次性检查 id 和 password?
啊 !!! 没想到
这样应该可以了瓜??
谢谢goatstudio的帮忙 :)
OleDbConnection1.Open()
DataSet11.Clear()
Dim newRow As DataRow = DataSet11.Staff.NewRow
Me.OleDbDataAdapter1.SelectCommand.CommandText = "SELECT StaffId, Position, Password FROM Staff where StaffId = '" + txtLogin.Text + "' AND Password = '" + txtpass.Text + "'"
Me.OleDbDataAdapter1.Fill(DataSet11)
If Me.BindingContext(DataSet11, "Staff").Count > 0 Then
Me.Hide()
form.Show()
form1.Show()
Else
DataSet11.Clear()
Me.OleDbDataAdapter1.SelectCommand.CommandText = "SELECT StaffId, Position, Password FROM Staff where StaffId = '" + txtLogin.Text + "'"
Me.OleDbDataAdapter1.Fill(DataSet11)
If Not Me.BindingContext(DataSet11, "Staff").Count > 0 Then
MessageBox.Show("Username provided unmatch", "retry", MessageBoxButtons.OK)
txtLogin.Focus()
txtLogin.SelectAll()
Else
DataSet11.Clear()
Me.OleDbDataAdapter1.SelectCommand.CommandText = "SELECT StaffId, Position, Password FROM Staff where Password = '" + txtpass.Text + "'"
Me.OleDbDataAdapter1.Fill(DataSet11)
If Not Me.BindingContext(DataSet11, "Staff").Count > 0 Then
MessageBox.Show("password provided unmatch", "retry", MessageBoxButtons.OK)
txtpass.Focus()
txtpass.Text = ""
End If
End If
End If
DataSet11.Clear()
OleDbConnection1.Close()
还有更好的吗? |
|
|
|
|
|
|
|
楼主 |
发表于 18-3-2006 03:05 AM
|
显示全部楼层
新的问题,希望大家能帮帮小弟
新的问题,希望大家能帮帮小弟
如何用VB。NET 把一个FORM TEXTBOX 的 字PASS 去 另外一个FORM
我可以PASS 进MIDFORM 但不可以PASS 进CHILD 。。。 |
|
|
|
|
|
|
|
发表于 18-3-2006 01:14 PM
|
显示全部楼层
其实有很多方法pass value to another form。。。
1)你开一个class.vb的file,然后你declare public Txtname as string,然后在你原本的form,Txtname=textbox1.text。。。就可以了
2)最简单,session("Txtname")=textbox1.text |
|
|
|
|
|
|
| |
本周最热论坛帖子
|