Ema*_*llo 20 c# parameters odbc
我需要从C#绑定ODBC查询的参数.这是示例代码,但VS告诉我缺少一个参数.
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM user WHERE id = @id";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
ODBC上绑定值的语法是什么?
Ste*_*eve 39
Odbc无法使用命名参数.这意味着命令字符串对每个参数使用占位符,并且此占位符是单个问号,而不是参数名称.
然后,您需要按照它们在命令字符串中出现的顺序添加集合中的参数
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM [user] WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
您还有另一个问题,USER字是每个MS Access数据库的保留关键字,如果您想将其用作字段名称或表名,则需要用方括号括起每个引用.我强烈建议,如果可能的话,更改该表名称,因为您将经常遇到此问题.
C S*_*per 14
如果您使用ODBC "?",@请使用它代替.
尝试做如下:
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM user WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24623 次 |
| 最近记录: |