我是VB.net的新手并创建一个应用程序,以便用户需要登录用户名和密码。
我使用的是SQL Server Compact Edition数据库。
这是我完美的代码: -
Imports System.Data.SqlClient
Imports System.Data.SqlServerCe
Public Class frm_edit_patient
Dim con As New SqlCeConnection
Try
Dim SQLquery As String
Dim da As SqlCeDataAdapter
Dim ds As New DataSet
Dim myConString As String = My.Settings.Database1ConnectionString
con.ConnectionString = myConString
MsgBox("Database is now open")
MessageBox.Show("connected")
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
以上代码运行正常并向我显示connected
但是当我添加这段代码时
SQLquery = "SELECT id FROM user where username=John Doe"
da = New SqlCeDataAdapter(SQLquery, con)
da = New SqlCeDataAdapter(SQLquery, con)
da.Fill(ds, "db1")
它给了我这个异常错误: -
这是什么意思?如何获得该特定人的用户ID?
另外,如果我只是将插入查询放在SQLquery
中,它会起作用吗?正如我通过观看几个视频教程一样这样做,但进一步他们没有这方面的教程,我的书也没有解释任何关于Compact数据库的事情,因为我到目前为止这个应用程序不想切换... < / p>
答案 0 :(得分:5)
将您的用户名放在单引号之间,用户是reserved word in Sql Compact 你需要将它括在方括号
中SQLquery = "SELECT id FROM [user] where username='John Doe'"
答案 1 :(得分:3)
在查询周围添加单引号。
SQLquery = "SELECT id FROM user where username='John Doe'"
答案 2 :(得分:1)
您的SQL语句中存在错误。字符串必须使用单引号分隔,例如
SELECT id FROM user WHERE username = 'John Doe'