gpt4 book ai didi

c# - 只能存储 MySqlParameter 对象

转载 作者:行者123 更新时间:2023-11-29 05:15:25 26 4
gpt4 key购买 nike

我关注了this试图设置与 MySQL 的连接并运行准备好的语句的线程(在线程中他们谈论的是 Postgresql 的细微差别)。这就是我所做的:

  IDbConnection cnx = new MySqlConnection(connectionString);
cnx.Open();
IDbCommand cmd = cnx.CreateCommand();

string sql = "insert into table1 (column2) values ($1)";

cmd.CommandText = sql;

IDbDataParameter param = cmd.CreateParameter();
param.DbType = DbType.AnsiString;
param.ParameterName = "1";
param.Value = "Parameter Value";

cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();

但结果,我收到了错误消息:

MySql.Data.MySqlClient.MySqlException: Only MySqlParameter objects may be stored at MySql.Data.MySqlClient.MySqlParameterCollection.Add (System.Object value) [0x00000] in :0

我应该补充一点,我专门使用 IDbConnection,因为稍后我想将这段代码重用于其他数据库,这种方法应该可以节省数百行代码。

最佳答案

使用 @ 作为名称装饰器而不是 $

string sql = "insert into table1 (column2) values (@value)";
...
cmd.Parameters.Add("@value", MySqlDbType.AnsiString).Value = "Parameter Value";

关于c# - 只能存储 MySqlParameter 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33583811/

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