关于使用Fill方法总是提示关键字错误想做一个用户验证程序,从数据库中读取数据。但是在使用Fill方法填充Dat
关于使用Fill方法总是提示关键字错误
想做一个用户验证程序,从数据库中读取数据。但是在使用Fill方法填充DataTable的时候总是提示错误,不知道怎么回事,请大家帮忙看看。
VB.NET codeImports 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呢?呵呵