我刚刚学习VB编程,最近与ORACLE9i相连编一个登陆界面。ORACLE中的表为USERINF,建在LEMONSHINE用户下,里面依次是列USERNAME,PASSWORD。编了登陆界面,编译通过,但是总说密码错误,请高手帮我看看程序有何错误?谢谢谢谢Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Data.oracleClient
Imports System.Collections
Imports System.ComponentModel
Public Class FormLogin
Inherits System.Windows.Forms.Form
Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click
If Trim(getpsw()) = Trim(Me.Txtpwd.Text) Then ,Me.Txtpwd.Text为密码输入框 FormInqrSinf.Show() Else
MsgBox("密码错误,请重新输入!")
End If
End Sub‘连接函数,用于从数据库中获取选定用户的密码,并与输入密码进行比较Private Function getpsw()
Dim searchsql As String
Dim cmd As OracleCommand
Dim dr As OracleDataReader
Dim myconn As New OracleConnection
Dim connectionstring As New String("Data Source=zqy;User ID=system;Password=system123") searchsql = "SELECT * FROM LEMONSHINE.USERINF WHERE USERNAME='" & Txtuser.Text & " '"'Txtuser.Text 为用户名输入框
Try
myconn.ConnectionString = connectionstring
myconn.Open()
cmd = New OracleCommand(searchsql, myconn)
dr = cmd.ExecuteReader()
Do While dr.Read() Return Trim(dr.GetString(1)) Loop Catch ex As Exception
MsgBox(ex.Message) End Try
End Function
End Class
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Data.oracleClient
Imports System.Collections
Imports System.ComponentModel
Public Class FormLogin
Inherits System.Windows.Forms.Form
Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click
If Trim(getpsw()) = Trim(Me.Txtpwd.Text) Then ,Me.Txtpwd.Text为密码输入框 FormInqrSinf.Show() Else
MsgBox("密码错误,请重新输入!")
End If
End Sub‘连接函数,用于从数据库中获取选定用户的密码,并与输入密码进行比较Private Function getpsw()
Dim searchsql As String
Dim cmd As OracleCommand
Dim dr As OracleDataReader
Dim myconn As New OracleConnection
Dim connectionstring As New String("Data Source=zqy;User ID=system;Password=system123") searchsql = "SELECT * FROM LEMONSHINE.USERINF WHERE USERNAME='" & Txtuser.Text & " '"'Txtuser.Text 为用户名输入框
Try
myconn.ConnectionString = connectionstring
myconn.Open()
cmd = New OracleCommand(searchsql, myconn)
dr = cmd.ExecuteReader()
Do While dr.Read() Return Trim(dr.GetString(1)) Loop Catch ex As Exception
MsgBox(ex.Message) End Try
End Function
End Class
这个sql选出来应该有很多列吧,改成只select密码那列应该就可以了
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Data.oracleClient
Imports System.Collections
Imports System.ComponentModel
Public Class FormLogin
Inherits System.Windows.Forms.Form
Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click
If Trim(getpsw()) = Trim(Me.Txtpwd.Text) Then ,Me.Txtpwd.Text为密码输入框
FormInqrSinf.Show() Else
MsgBox("密码错误,请重新输入!")
End If
End Sub ‘连接函数,用于从数据库中获取选定用户的密码,并与输入密码进行比较
Private Function getpsw()
Dim searchsql As String
Dim cmd As OracleCommand
Dim dr As OracleDataReader
Dim myconn As New OracleConnection
Dim connectionstring As New String("Data Source=zqy;User ID=system;Password=system123") searchsql = "SELECT * FROM LEMONSHINE.USERINF WHERE USERNAME='" & Txtuser.Text & " '" 'Txtuser.Text 为用户名输入框
Try
myconn.ConnectionString = connectionstring
myconn.Open()
cmd = New OracleCommand(searchsql, myconn)
dr = cmd.ExecuteReader()
Do While dr.Read() Return Trim(dr.GetString(1)) Loop Catch ex As Exception
MsgBox(ex.Message) End Try
End Function
End Class
SELECT PASSWORD FROM USERINF WHERE USERNAME=‘张三’;
这样还是不行,是不是连接的问题啊。可是我用这个连接编了另一个界面可以把数据源导进来的啊
Do While dr.Read()
Return Trim(dr.GetString(1))
Loop