注册 登录
编程论坛 VB.NET论坛

VB2008关于数据库连接问题

兮兮露翎 发布于 2011-05-05 22:36, 866 次点击
最近毕设,可是VB2008连接SQL2005时控件SqlDataAdapter连接上了数据库
可是运行程序时就是不能显示数据库中的信息
部分代码如下
Public Class Frmlogin
    Public Function runselectsql() As DataTable    '访问数据库的自定义函数
        Dim oleconn As New SqlConnection(myCnn)
        Dim strsql As String = "select * from 用户 where  姓名 ='" & Cboname.Text.Trim & "' and 密码='" & Txtpassword.Text.Trim & "'"
        Dim oleda As New SqlDataAdapter(strsql, oleconn)
        Dim oleds As New DataSet
        oleda.Fill(oleds)
        Return oleds.Tables(0) ' 返回数据集中的数据表
    End Function

上网有搜过说是oleda.Fill(oleds)不能连上数据库,可是按照内容修改还是不行,想请论坛的高手有没有解决的办法?
谢谢!
1 回复
#2
pmmiao2011-05-09 10:59
这样处理肯定是可以的:
        cn = New System.Data.SqlClient.SqlConnection(connectionWords)
        cn.Open()
        SQL = "SELECT * FROM usr where usrid='" & UsernameTextBox.Text & "' and usrpwd='" & PasswordTextBox.Text & "'"
        cmd = New System.Data.SqlClient.SqlCommand(SQL, cn)
        Try
            rdr = cmd.ExecuteReader
        Catch ex As System.Data.SqlClient.SqlException
            MsgBox("查询出错,请重新查询。", MsgBoxStyle.Critical, "提示")
            cn.Close()
            Exit Sub
        End Try
        Dim RowCount As Integer = 0 '定义影响的行数
        While rdr.Read
            usrName = Trim(rdr.GetString(1))
            usrPwd = Trim(rdr.GetString(2))
            RowCount = RowCount + 1
        End While
        cn.Close()
这样的做法是一条一条的读取数据,读取的数据可以放到LISTVIEW中,很方便后续的操作。如果是你做的那个是DATAGRID的方式,应该可以直接在设计器中完成,不需要写程序都可以。
1