首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

新人提问解决方案

2013-09-18 
新人提问vb.net写的wince程序,数据库为sqlce3.5Dim connstr As StringDim currpath As StringDim conn As

新人提问
vb.net写的wince程序,数据库为sqlce3.5
        Dim connstr As String
        Dim currpath As String
        Dim conn As SqlCeConnection
        currpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName)
        connstr = "datasource=" & currpath & "\demo.sdf"
        conn = New SqlCeConnection(connstr)
        Try
            conn.Open()
        Catch ex As Exception
            MsgBox("连接数据库失败!" + ex.ToString)
            Exit Sub
        End Try
        '读取数据库比对用户登录信息
        Dim sqlcmd As SqlCeCommand
        Dim sqlread As SqlCeDataReader
        sqlcmd = New SqlCeCommand
        sqlcmd.Connection = conn
        sqlcmd.CommandText = "select * from userinfo where userid='" & txtname.Text & "' and userpass='" & txtpass.Text & "'"
        MsgBox(sqlcmd.CommandText )
        sqlread = sqlcmd.ExecuteReader
        If sqlread.Read Then    ’此处失败
            If sqlread.RecordsAffected > 0 Then
                MsgBox("ok")
            Else : MsgBox("username or password error")
            End If
        Else
            MsgBox("read error")
        End If
        '释放分配的资源
        sqlread.Close()


        sqlread.Dispose()
        sqlcmd.Dispose()
        conn.Close()
        conn.Dispose()
    End Sub


‘================================
sqlread.read执行失败提示read error!一直找不到什么原因
还有就是有资料说查询的RecordsAffected一直返回-1,那要怎么取得记录数
[解决办法]
try

catch

详细的错误看看吧

或者 sql = select * from userinfo 
有没有数据
[解决办法]

ADODB.Recordset(1) 
DataSet.Tables(0).Rows(0).Item(1)

這兩句代碼是相同的么?
[解决办法]
你的数据库没连上,
不过应该用
      While myReader.Read
     ..
        End While

[解决办法]
Try
            Dim myconnection As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "\" + "用户管理.mdb")
            Dim mycommand As OleDbCommand
            Dim mydatareader As OleDbDataReader
            myconnection.Open()
            Dim s As String = "select * from yhb where yhm='" & TextBox1.Text & "' and mm='" & TextBox2.Text & "'"
            mycommand = New OleDbCommand(s, myconnection)
            mydatareader = mycommand.ExecuteReader()
            If mydatareader.Read = False Then


                MsgBox("用户名不存在或者密码错误", 0 + 48, "提示")
            Else
                mydatareader.Close()
                myconnection.Close()
                MsgBox("成功!")
            End If
        Catch ex As Exception
            MsgBox("执行出错!")
        End Try

热点排行