读书人

关于使用Fill方法总是提示关键字异常

发布时间: 2012-10-20 14:12:48 作者: rapoo

关于使用Fill方法总是提示关键字错误
想做一个用户验证程序,从数据库中读取数据。但是在使用Fill方法填充DataTable的时候总是提示错误,不知道怎么回事,请大家帮忙看看。

VB.NET code
Imports System.Data.SqlClientImports System.DataModule UserModule    Public strConnectionUser As String = "Server=.; DataBase=db_user; User ID=sa; Password=admin123"    Public sqlConnectionUser As SqlConnection = New SqlConnection(strConnectionUser)    Public sqlCommandSearchUser As SqlCommand = New SqlCommand()End ModuleDim userName As String = UsernameTextBox.Text        Dim password As String = PasswordTextBox.Text        Dim strSQLSearchUser As String = "SELECT * FROM User WHERE User_Name = '" & userName & "' AND Password = '" & password & "'"        Dim objDataAdapterSearchUser As New SqlDataAdapter()        objDataAdapterSearchUser.SelectCommand = New SqlCommand        objDataAdapterSearchUser.SelectCommand.Connection = sqlConnectionUser        objDataAdapterSearchUser.SelectCommand.CommandText = strSQLSearchUser        objDataAdapterSearchUser.SelectCommand.CommandType = CommandType.Text        Dim objDataSet As DataSet = New DataSet        Try            objDataAdapterSearchUser.Fill(objDataSet, "Confirm")        Catch ex As Exception            MessageBox.Show(ex.Message)            Exit Sub        End TryEnd Sub


[解决办法]
在使用SqlCommand之前,你没有打开数据库链接。

Imports System.Data.SqlClient
Imports System.Data

Module UserModule
Public strConnectionUser As String = "Server=.; DataBase=db_user; User ID=sa; Password=admin123"
Public sqlConnectionUser As SqlConnection = New SqlConnection(strConnectionUser)
Public sqlCommandSearchUser As SqlCommand = New SqlCommand()
End Module

Dim userName As String = UsernameTextBox.Text
Dim password As String = PasswordTextBox.Text
Dim strSQLSearchUser As String = "SELECT * FROM User WHERE User_Name = '" & userName & "' AND Password = '" & password & "'"
Dim objDataAdapterSearchUser As New SqlDataAdapter()
objDataAdapterSearchUser.SelectCommand = New SqlCommand
sqlConnectionUser.Open()
objDataAdapterSearchUser.SelectCommand.Connection = sqlConnectionUser
objDataAdapterSearchUser.SelectCommand.CommandText = strSQLSearchUser
objDataAdapterSearchUser.SelectCommand.CommandType = CommandType.Text
Dim objDataSet As DataSet = New DataSet
Try
objDataAdapterSearchUser.Fill(objDataSet, "Confirm")
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
End Sub


[解决办法]
Dim myDAP As new OracleDataAdapter

myDAP = New OracleDataAdapter(sql, CN)
Dim BanTable As New DataTable
myDAP.Fill(BanTable)

看看oracle的,原理是一样的,就这几句,之前要先cn.open
CN是连接,sql是命令语句.

你的代码,DataAdapter是空的,怎能fill呢?呵呵

读书人网 >VB Dotnet

热点推荐