insertcommand.Parameters("@a1").Value = DBNull.Value
解决方案 »
- 微软有没有可能在不久的将来发布一个替代IIS的web server软件
- 关于对用户在页面上输入数据的验证(客户端与服务器端)
- 网站目录下多了一个虚拟目录
- DataList数据绑定问题
- 关于asp.net request.form 的问题
- response.write()的问题
- 一个表格,可以自动添加一行删除一行。谁开发过这样的控件呀!
- 帮忙转换RSS的编码为GBK阿。。
- OleDb.OleDbException: 参数不足,期待是 1。请教各位大虾拔刀相助
- 为什么在.net中用MediaService控件会蓝屏? KMODE_EXCEPTION_NOT_HANDLED
- 如何修改WinForm下DataGrid中的表头文字?
- 【如何对大量数据进行比较?】
insertcommand.Parameters("@a2").Value = DBNull.Value
1.Convert.DBNull.
Convert类,很实用的
---------------------------------------------------------------
2.Dataset.tables[0].row[0]["field"]=DBNull.Value;
insertcommand.Parameters("@a2").Value =""
using System.Data;
using System.Data.SqlClient;
namespace Wonder.Lib.Base
{
/// <summary>
/// 封装SqlDataReader,主要处理了DBNull
/// </summary>
public class WDRead
{ public const byte NULL_INT = 0;
public const string NULL_STR = "";
public static DateTime NULL_DATE = new DateTime(1,1,1);
public const char NULL_CHAR = '\0';
public static Guid NULL_GUID = Guid.Empty;
/// <summary>
///
/// </summary>
public SqlDataReader m_read = null; /// <summary>
/// 构造函数
/// </summary>
/// <param name="read"></param>
public WDRead(SqlDataReader read)
{
m_read = read;
}
//-------------------------------------------------------
// 类型转化
//------------------------------------------------------- /// <summary>
/// 传递字符型参数到SqlCommand
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static object SendStr(string str)
{
if(str == null)
return DBNull.Value;
else
return str;
} /// <summary>
/// 传递日期型参数到SqlCommand
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static object SendDate(DateTime dt)
{
if(dt.Ticks == 0)
return DBNull.Value;
else
return dt;
} /// <summary>
/// 传送字节型数据到SqlCommand
/// </summary>
/// <param name="c"></param>
/// <returns></returns>
public static object SendChar(char c)
{
if(c == '\0')
return DBNull.Value;
else
return c;
}
/// <summary>
/// 传送Guid型数据到SqlCommand
/// </summary>
/// <param name="c"></param>
/// <returns></returns>
public static object SendGuid(Guid c)
{
if(c == Guid.Empty )
return DBNull.Value;
else
return c;
}
/// <summary>
/// 读下一条记录
/// </summary>
/// <returns></returns>
public bool Read()
{
return m_read.Read();
}
/// <summary>
/// 取得字符串类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_STR</returns>
public string GString(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_STR;
else
return m_read.GetString (m_read.GetOrdinal(item));
} /// <summary>
/// 取得整数类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL</returns>
public int GInt(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_INT ;
else
return m_read.GetInt32 (m_read.GetOrdinal(item));
} public Int16 GWord(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_INT ;
else
return m_read.GetInt16 (m_read.GetOrdinal(item));
} /// <summary>
/// 取得日期类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_DATE</returns>
public DateTime GDate(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_DATE ;
else
return m_read.GetDateTime (m_read.GetOrdinal(item));
} /// <summary>
/// 取得byte类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_INT</returns>
public byte GByte(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_INT ;
else
return m_read.GetByte (m_read.GetOrdinal(item));
} /// <summary>
/// 取得boolean类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_INT</returns>
public bool GBool(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return false ;
else
return m_read.GetBoolean( m_read.GetOrdinal(item));//( 1 ==m_read.GetByte (m_read.GetOrdinal(item)));
} /// <summary>
/// 取得char类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_INT</returns>
public char GChar(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_CHAR ;
else
return Convert.ToChar(m_read[item]);
} /// <summary>
/// 取得Decimal类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_INT</returns>
public Decimal GDec(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_INT ;
else
return m_read.GetDecimal (m_read.GetOrdinal(item));
}
/// <summary>
/// 取得Guid类型
/// </summary>
/// <param name="item">字段名</param>
/// <returns>字段值或NULL_GUID</returns>
public Guid GGuid(string item)
{
if(m_read.IsDBNull(m_read.GetOrdinal(item)))
return NULL_GUID ;
else
{
return m_read.GetGuid(m_read.GetOrdinal(item));
}
} /// <summary>
/// 取得指定read 的 字符串
/// </summary>
/// <param name="read"></param>
/// <param name="item"></param>
/// <returns></returns>
public static string GStr(SqlDataReader read,int item)
{
if(read.Read())
{
if(read.IsDBNull(item))
return null;
else
return read.GetString(item); }
else
return null;
} /// <summary>
/// 取得指定read 的 字符串
/// </summary>
/// <param name="read"></param>
/// <param name="item"></param>
/// <returns></returns>
public static string GStr(SqlDataReader read,string item)
{
if(read.Read())
{
if(read.IsDBNull(read.GetOrdinal(item)))
return null;
else
return read.GetString(read.GetOrdinal(item)); }
else
return null;
}
}
}