经过1天的努力,还是没搞定数据库连接。
不过大概有眉目了!!
大家看下这段代码
Public Class Form1
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WindowsApplication5\WindowsApplication5\database1.sdf"
rs = New ADODB.Reco Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'" Then
Form2.Show()
Else
MsgBox("你输入用户名有误")
End If End Sub
End Class
开始我把这段代码放在form1_load中编译器没有报错,但运行中异常提示
If " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'" Then
无法转换
后面我把他放在最外层提示应为第4 第5 行 cn,rs应为声明
不过大概有眉目了!!
大家看下这段代码
Public Class Form1
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WindowsApplication5\WindowsApplication5\database1.sdf"
rs = New ADODB.Reco Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'" Then
Form2.Show()
Else
MsgBox("你输入用户名有误")
End If End Sub
End Class
开始我把这段代码放在form1_load中编译器没有报错,但运行中异常提示
If " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'" Then
无法转换
后面我把他放在最外层提示应为第4 第5 行 cn,rs应为声明
(2)按照你的要求,好像是判断用户名、密码的。
不能直接用sql。
应该类似如下代码:
Dim con As New SqlConnection(...)
Dim da As New SqlDataAdapter(sql, con)
Dim ds As DataSet
da.Fill(ds)
If ds.Tables(0).Count > 0 Then
Form2.Show()
Else
MsgBox("你输入用户名有误")
End If
总之你的代码实在一窍不通。
if rs.recordcount>0 then
If ds.Tables(0).Rows.Count > 0 Then
以上代码手写的。你找本基础的书好好学习下。代码不是凑出来的。
If " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'" Then
首先" SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'"是一个String字符串变量 而if后跟逻辑表达式 一个字符串变量根本不能构成逻辑值
看楼主的意思是想执行该Sql语句根据其返回值执行后续语句
执行sql语句你至少需要学会用两个ADO对象:ADODB.Connection、ADODB.Recordset
先打开数据库连接,再用该连接打开记录集。
rs.open " SELECT * FROM 用户表 WHERE 用户名= '" & TextBox1.Text & "' AND 密码= '" & TextBox2.Text & "'",cnn,adopenkeyset,adlockreadonly
if rs.recordcount>0 then
提示数据库已关闭不能进行操作?
在这里datasource下面是因该填数据库在本机上的具体位置么?我本机没有服务器名啊
那catalong是不是填表名呢
在这里datasource下面是因该填数据库在本机上的具体位置么?我本机没有服务器名啊
那catalong是不是填表名呢