这是一个奇怪的,当我运行以下代码时,所有行都从db返回。想象一下如果这是更新或删除会发生什么。
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
我的问题是为什么会发生这种情况?
答案 0 :(得分:2)
我不是pg-sql专家,但我强烈怀疑这是因为你在SQL语句中添加了一个与你正在使用的参数不同的参数。我认为你也使用错误的语法来引用参数。有关详细信息,请参阅user manual。试试这个:
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)