odbcforsqlserver
‘壹’ VB编程:建立登录窗口 在线急等!
你题目有点不清,我感觉你应该再加一个label和一个combobox.(用于选择登录身份)你有三个表,说明你登录时的用户名和密码应该是取自不同的三个表.
我做过这样的系统.用的是VB.NET+ACCESS.自己想学的话可以对照来做的.代码现在告诉你:
Public Class login
Inherits System.Windows.Forms.Form
Public strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=exam.mdb"
Public Function GetDataFromDB(ByVal sqlstr As String) As DataSet
objDataSet = New DataSet
objDataSet.Clear()
'实例化一个数据集对象
Try
objConn.Open()
'打开数据库连接
objDataAdpter = New OleDb.OleDbDataAdapter(sqlstr, objConn)
'将数据库的数据映射到数据适配器
objDataAdpter.Fill(objDataSet)
'填充数据集的数据
objConn.Close()
'关闭数据连接,这一点很重要
Catch
MsgBox("错误号:" & Err.Number & "错误描述:" & Err.Description)
objConn.Close()
'发生错误时关闭数据连接
End Try
Return objDataSet
objDataSet = Nothing
End Function
Public objConn As New OleDb.OleDbConnection(strconn)
Dim User As String
Dim Password As String
Dim sqlstr As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If MsgBox("您真的不登录考试管理系统吗?", _
MsgBoxStyle.YesNo + MsgBoxStyle.Question, "退出登录系统") _
= MsgBoxResult.Yes Then
Application.Exit()
Else
Exit Sub
End If
End Sub
Private Sub Form10_Closing(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles MyBase.Closing
If MsgBox("您真的不登录考试管理系统吗?", _
MsgBoxStyle.YesNo + MsgBoxStyle.Question, "退出登录系统") _
= MsgBoxResult.Yes Then
e.Cancel = False
Else
e.Cancel = True
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
User = Me.TextBox1.Text.Trim
Password = Me.TextBox2.Text.Trim
If Me.ComboBox1.SelectedIndex = 0 Then
sqlstr = "SELECT * FROM userinfo WHERE user_id= " & _
"'" & User & "' AND user_pwd='" & Password & "' or user_name=" & _
"'" & User & "' and user_pwd='" & Password & "'"
Dim objDataRow As DataRow
Try
objDataRow = GetDataFromDB(sqlstr).Tables(0).Rows(0)
Catch
MsgBox("密码和账号不符,请重试,并检查该账号是否存在。", _
MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "系统登录失败")
Me.TextBox2.Text = ""
Exit Sub
End Try
UserName = User
userrole = objDataRow.Item(1)
pepdom = objDataRow.Item(4)
Dim frmmain As New main
frmmain.Show()
Me.Finalize()
ElseIf Me.ComboBox1.SelectedIndex = 1 Then
sqlstr = "SELECT * FROM teacher WHERE teacher_id= " & _
"'" & User & "' AND teacher_pwd='" & Password & "'"
Dim objDataRow As DataRow
Try
objDataRow = GetDataFromDB(sqlstr).Tables(0).Rows(0)
Catch
MsgBox("密码和账号不符,请重试,并检查该账号是否存在。", _
MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "系统登录失败")
Me.TextBox2.Text = ""
Exit Sub
End Try
UserName = User
Userrole = objDataRow.Item(1)
pepdom = objDataRow.Item(4)
Dim frmmain As New main
frmmain.Show()
Me.Finalize()
ElseIf Me.ComboBox1.SelectedIndex = 2 Then
sqlstr = "SELECT * FROM student WHERE student_id= " & _
"'" & User & "' AND student_pwd='" & Password & "'"
Dim objDataRow As DataRow
Try
objDataRow = GetDataFromDB(sqlstr).Tables(0).Rows(0)
Catch
MsgBox("密码和账号不符,请重试,并检查该账号是否存在。", _
MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "系统登录失败")
Me.TextBox2.Text = ""
Exit Sub
End Try
UserName = User
Userrole = objDataRow.Item(1)
pepdom = objDataRow.Item(4)
Dim frmmain As New main
frmmain.Show()
Me.Finalize()
End If
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = 13 Then
Me.TextBox2.Focus()
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
If e.KeyCode = 13 Then
Me.Button1.Focus()
End If
End Sub
Private Sub login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Me.ComboBox1.SelectedIndex = 0
End Sub
Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
If e.KeyCode = 13 Then
Me.Button1.Focus()
End If
End Sub
End Class
‘贰’ 金蝶财务软件中标准凭证引出时出现“ODBC驱动程序不支持所需的属性”怎么解决
ODBC驱动程序不支持所需的属性的解决办法
用这个连接串StrDSN="driver={SQLserver};server="&StrServer&",1104;uid="&StrUser&";pwd="&StrSaPwd&";database=database
出现下面错误
(0x80040E21)
ODBC驱动程序不支持所需的属性。
用这个连接串
StrDSN="Provider=SQLOLEDB.1;Password=pass;PersistSecurityInfo=True;UserID=id;InitialCatalog=datebase;DataSource="&StrServer&""
错误类型:(0x80040E21)
多步OLEDB操作产生错误。如果可能,请检查每个OLEDB状态值。没有工作被完成。
默认CommandTimeout=30,修改成:StrDSN="Provider=SQLOLEDB.1;Password=zxc1035;PersistSecurityInfo=True;UserID=zxc;InitialCatalog=database;DataSource="&StrServer&";timeout=2000"
建立和数据库master的连接
set Conn=Server.CreateObject("ADODB.Connection")
Conn.OpenStrDSN
set Rs=Server.CreateObject("ADODB.RecordSet")
conn.CommandTimeout=3000'注意加了这个RS.openSQL,conn,1,1。