使用VB.net在SQL Server Compact Edition数据库中获取和插入数据

时间:2012-09-26 15:10:57

标签: sql-server-ce vb.net-2010

我是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")

它给了我这个异常错误: - enter image description here

这是什么意思?如何获得该特定人的用户ID?

另外,如果我只是将插入查询放在SQLquery中,它会起作用吗?正如我通过观看几个视频教程一样这样做,但进一步他们没有这方面的教程,我的书也没有解释任何关于Compact数据库的事情,因为我到目前为止这个应用程序不想切换... < / p>

3 个答案:

答案 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'