vb+sql高手来看看啊If"selectcount(*)fro
If "select count(*) f 用户表 from 用户表 where 用户名='" & Trim(Text1.Text) & "' and 密码='" & Trim(Text2.Text) & "'" = 0 Then MsgBox "密码输入不正确", vbExclamation + vbCritical, "警告" Unload Me Exit Sub End If 为什么上面这样不行,请给出正确的写法 要求是:当某用户的密码输入有误时,给出警告 以下是连接sql用户表的代码
看来LZ对于的ADO不是太熟悉啊,如果要使用ADO,首先需要在“工程”菜单中的“引用”中添加ADO库的引用,一般的可以使用“Microsoft ActiveX Data Objects 2.0 Library”。 根据开发需求的不同,一般需要定义一个或多个ADO数据库的连接及记录集对象(ADODB.Connection,ADODB.Recordset),最好定义为全局,方便不同模块使用。在LZ的问题中,也可以定义为局部变量,仅仅是检索用户登录信息,用完即可关闭。 LZ的问题在于,仅仅是使用了一个ADO控件,与数据库建立了一个连接。但是在登录时,使用了SQL检索语句,这个检索是没有数据库上下文的,所以根本就不可能到数据库中去检索数据。 所以那个控件是可以不要的。直接在登录按钮中Command1进行代码处理即可。 下面的代码已经测试通过,请参考: Private Sub Command1_Click() Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset con.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=mmd" '这个连接串是偶测试用的,可以替换为LZ所需要的连接串 con.Open rs.CursorLocation = adUseClient rs.Open "select * from 用户表 where 用户名='" & Trim(Text1.Text) & "' and 密码='" & Trim(Text2.Text) & "'", con If rs.RecordCount = 0 Then MsgBox "密码输入不正确!", vbExclamation + vbCritical, "警告" Unload Me Exit Sub Else MsgBox "密码输入正确!" End If rs.Close con.Close End Sub PS:Form_Load中的代码可以不要,除非那个ADO控件有用。