【发布时间】:2016-07-05 05:58:36
【问题描述】:
我正在使用以下代码插入数据 首先为什么我不能使用 Parameters.AddWithValue(); ?? 以及 Parameters.AddWithValue 和 Parameters.Add 之间的实际区别是什么????我已经进行了搜索,但每个人都说另一个已弃用,现在哪个真的已弃用?! 以及每个的命名空间是什么?据我所知,使用 Parameters.AddWithValue 是 Oracle.DataAccess;而对于Parameters.Add正在使用System.data.oracle;
第二个为什么我在这一行没有发现任何问题时遇到错误
using (OracleCommand cmd =new OracleCommand(cmdstr,connstr))
最好的重载方法匹配 'Oracle.DataAccess.Client.OracleCommand.OracleCommand(字符串, Oracle.DataAccess.Client.OracleConnection)' 有一些无效参数
参数 2:无法从 'string' 转换为 'Oracle.DataAccess.Client.OracleConnection'
Oracle.DataAccess.Client.OracleParameterCollection 不包含 'AddWithValue' 的定义并且没有扩展方法 'AddWithValue' 接受类型的第一个参数 'Oracle.DataAccess.Client.OracleParameterCollection' 可以找到 (您是否缺少 using 指令或程序集引用?)
public void connect_to_db()
{
string connstr = "Data Source=orcl;User Id=user;Password=pwd;";
string cmdstr = @"insert into customers
set (CUST_NAME)
values (:TB_CUST_NAME);";
using (OracleConnection conn = new OracleConnection(connstr))
using (OracleCommand cmd =new OracleCommand(cmdstr,connstr))
{
conn.Open();
cmd.Parameters.AddWithValue(":TB_CUST_NAME", TB_CUST_NAME);
cmd.ExecuteNonQuery();
}
}
【问题讨论】: