gpt4 book ai didi

c# - OleDbParameter 的名称痴迷

转载 作者:行者123 更新时间:2023-11-30 15:13:07 25 4
gpt4 key购买 nike

由于 OleDbParameter 不使用命名参数(由于其性质),为什么 .NET OleDbParameter 类需要一个名称? (字符串参数名...)

所有的构造函数都需要一个参数名,而我永远不确定要给它起什么名字;我的名字可以吗?还是我祖母的名字?

最佳答案

尽管 OleDb/Odbc 提供程序使用位置参数而不是命名参数 -

  1. 如果您需要引用这些参数,则需要在 OleDbParameter 集合中以某种方式对其进行标识。

  2. 重要的是,在构造参数化 sql 语句时,为每个参数声明一个变量并为其分配相应的值。然后在执行的sql语句中使用。

举个例子:

string sql = "SELECT * FROM MyTable WHERE Field = ?";
OleDbCommand cmd = new OleDbCommmand(sql, sqlConnection);
cmd.Parameters.Add("@FieldValue", OleDbType.Int32, 42);
OleDbDataReader dr = cmd.ExecuteReader();

执行的 SQL 类似于(或接近我认为的):

DECLARE @FieldValue INT;
SET @FieldValue = 42;
SELECT * FROM MyTable WHERE Field = @FieldValue

建议您使用与正在操作的列的名称最匹配的参数名称。

关于c# - OleDbParameter 的名称痴迷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/389591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com