您好我试图在数据库列中插入null取决于gridview datakeys值(如果是""将null插入数据库)但是,我在数据库列中获得一个空格''.
string sbcId = gvTest.DataKeys[gr.RowIndex]["myColumn"].ToString();
insgnp.Parameters.Add(new OleDbParameter("EMPID", (sbcId==""?DBNull.Value.ToString():sbcId)));
Run Code Online (Sandbox Code Playgroud)
Kla*_*sen 20
你必须重写你的代码:
if(string.IsNullOrEmpty(sbcId))
Parameters.Add(new OleDbParameter("EMPID", DBNull.Value));
else
Parameters.Add(new OleDbParameter("EMPID", sbcId));
Run Code Online (Sandbox Code Playgroud)
你所拥有的三元if语句的问题是它的返回类型必须始终相同,这就是你不能使用它的原因(string和DbNull.Value不兼容)
使用DBNull.Value,而不是DBNull.Value.ToString.(使用.NET中的其他参数集合类型null也可以使用,但我不是100%肯定OleDbParameter).
至于第三级运营商.不要强制转换为字符串,而是将字符串强制转换为对象:
sbcId=="" ? DBNull.Value : (object)sbcId
Run Code Online (Sandbox Code Playgroud)
你需要使用DBNull.Value不DBNull.Value.ToString()
DBNull.Value.ToString() 是 ''
这个程序给
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("'{0}'", DBNull.Value.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
47752 次 |
| 最近记录: |