【问题标题】:Data fetch and insert in SQL Server Compact Edition database using VB.net使用 VB.net 在 SQL Server Compact Edition 数据库中获取和插入数据
【发布时间】:2012-09-18 06:21:05
【问题描述】:

我是 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 中,它会起作用吗?因为我一直在通过观看一些视频教程来做到这一点,但他们没有关于这方面的教程,我的书也没有解释任何关于紧凑型数据库的内容,而且到目前为止我使用这个应用程序不想切换......

【问题讨论】:

  • 我已经这样做了:where username = 'John Doe' 但错误还是一样

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


【解决方案1】:

在您的查询周围添加单引号。

SQLquery = "SELECT id FROM user where username='John Doe'"

【讨论】:

  • 你有con.open()吗?
  • 哦,是的,我在我的 SQLquery 上方有它,就像 con.open() 一样
  • 尝试更改您的代码以遵循此示例:msdn.microsoft.com/en-us/library/…
【解决方案2】:

您的 SQL 语句中有错误。字符串必须使用单引号分隔,例如

SELECT id FROM user WHERE username = 'John Doe'

【讨论】:

    【解决方案3】:

    将您的用户名放在单引号之间,并且 userreserved word in Sql Compact
    您需要将其括在方括号中

    SQLquery = "SELECT id FROM [user] where username='John Doe'" 
    

    【讨论】:

    • 我已经更新了我的答案。用户周围有方括号吗?
    • 非常感谢它的工作:) 最后一个问题我如何显示这些数据...?
    • 您可以使用您的数据集并从 ds.Tables(0).Rows(0) 中提取信息并将其显示在网格或文本框中
    猜你喜欢
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多