1

这很奇怪,当我运行以下代码时,所有行都从数据库返回。想象一下如果这是更新或删除会发生什么。

    Dim cmd As New NpgsqlCommand

    cmd.Connection = conn
    cmd.CommandText = "select * FROM ac_profiles WHERE profileid = @profileId"
    cmd.Parameters.Add("@profile", 58)
    Dim dt As DataTable = DataAccess2.DataAccess.sqlQueryDb(cmd)

    DataGridView1.DataSource = dt

我的问题是为什么会这样?

4

1 回答 1

2

我不是 pg-sql 专家,但我强烈怀疑这是因为您添加的参数与您在 SQL 语句中使用的参数不同。我认为您还使用错误的语法来引用参数。有关详细信息,请参阅用户手册。尝试这个:

cmd.Connection = conn
cmd.CommandText = "select * FROM ac_profiles WHERE profileid = :profileid"
cmd.Parameters.Add("profileid", 58)
Dim dt As DataTable = DataAccess2.DataAccess.sqlQueryDb(cmd)
于 2010-05-19T10:37:47.633 回答