如何解决OleDbCommandParameter 值不会被 String.Empty 覆盖
我正在尝试通过 OleDb 使用准备好的插入将数据写入 oracle 表(具有单个 VARCHAR(100) 列),基本上直接使用来自 MS 的示例:
var connectionString = "provider=OraOLEDB.Oracle;data source=server;persist security info=True;password=pw;user id=userid;oledb.net=True;dbproviderfactory=System.Data.OleDb";
using (var conn = new OleDbConnection(connectionString))
{
conn.open();
var cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO TEST (COLUMN1) VALUES (?)";
cmd.Parameters.Add("par1",OleDbType.VarChar,100);
cmd.Prepare();
cmd.Parameters[0].Value = "HelloWordl";
cmd.ExecuteNonQuery();
cmd.Parameters[0].Value = "1.23";
cmd.ExecuteNonQuery();
cmd.Parameters[0].Value = String.Empty;
cmd.ExecuteNonQuery();
}
我希望表格中有三行,即
COLUMN1 |
---|
你好世界 |
1.23 |
然而,第三行看起来很奇怪:
COLUMN1 |
---|
你好世界 |
1.23 |
1.23o 世界 |
这是提供程序中的错误吗?检查参数 Value
属性会产生空字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。