对象不能从DBNull 转换为其他类型的解决方法
2010-01-09 13:25
375 查看
string sql_str="select MAX(lID) from liuyan":改成
语句string sql_str = "select iif((MAX(lID)) is null,'0','1') from liuyan";
iff(判断,是,否)
但是只能添加一次,因为第二次添加运行string sql_str = "select iif((MAX(lID)) is null,'0','1') from liuyan";
int lid=DBHelper.GetScalar(sql_str)+1;
会将lid设置为2,所以以后添加的lID都是2,那样后台操作的时候会一起删了lID=2的
所以我修改了代码:
如我的代码
public static void AddMsg(Msg msg)
{
string sql_str = "select iif(lID is null,'0','1') from liuyan";
int lid = DBHelper.GetScalar(sql_str);
if (lid == 0)
{
string sql2 = "insert into liuyan(lID) values("+lid+")";
DBHelper.ExecuteCommand(sql2);
}
else
{
string sql1 = "select MAX(lID) from liuyan";
int lid2 = DBHelper.GetScalar(sql1)+1;
string sql = "insert into liuyan(lID,lName,lTel,lEmail,lMsg) values(" + lid2 + ",@lName,@lTel,@lEmail,@lMsg)";
OleDbParameter[] para = new OleDbParameter[]
{
new OleDbParameter("@lName",msg.LName),
new OleDbParameter("@lTel",msg.LTel),
new OleDbParameter("@lEmail",msg.LEmail),
new OleDbParameter("@lMsg",msg.LMsg),
};
DBHelper.ExecuteCommand(sql, para);
}
}
呵呵,完成,看了网上的,千篇一律,不知道都拷哪里的,不知道到底是谁写的,一个字不差的都拷贝拷贝再拷贝,本人实在看不下去,于是自己实践写下笔记与大家分享。
语句string sql_str = "select iif((MAX(lID)) is null,'0','1') from liuyan";
iff(判断,是,否)
但是只能添加一次,因为第二次添加运行string sql_str = "select iif((MAX(lID)) is null,'0','1') from liuyan";
int lid=DBHelper.GetScalar(sql_str)+1;
会将lid设置为2,所以以后添加的lID都是2,那样后台操作的时候会一起删了lID=2的
所以我修改了代码:
如我的代码
public static void AddMsg(Msg msg)
{
string sql_str = "select iif(lID is null,'0','1') from liuyan";
int lid = DBHelper.GetScalar(sql_str);
if (lid == 0)
{
string sql2 = "insert into liuyan(lID) values("+lid+")";
DBHelper.ExecuteCommand(sql2);
}
else
{
string sql1 = "select MAX(lID) from liuyan";
int lid2 = DBHelper.GetScalar(sql1)+1;
string sql = "insert into liuyan(lID,lName,lTel,lEmail,lMsg) values(" + lid2 + ",@lName,@lTel,@lEmail,@lMsg)";
OleDbParameter[] para = new OleDbParameter[]
{
new OleDbParameter("@lName",msg.LName),
new OleDbParameter("@lTel",msg.LTel),
new OleDbParameter("@lEmail",msg.LEmail),
new OleDbParameter("@lMsg",msg.LMsg),
};
DBHelper.ExecuteCommand(sql, para);
}
}
呵呵,完成,看了网上的,千篇一律,不知道都拷哪里的,不知道到底是谁写的,一个字不差的都拷贝拷贝再拷贝,本人实在看不下去,于是自己实践写下笔记与大家分享。
相关文章推荐
- 异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型——的解决方法
- 异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型——的解决方法
- ASP.NET遇到问题,“对象不能从 DBNull 转换为其他类型”,记录一下~问题已经解决,谢谢大家~
- 对象不能从 DBNull 转换为其他类型。
- 调试Bug:对象不能从 DBNull 转换为其他类型
- 对象不能从 DBNull 转换为其他类型
- 关于错误“对象不能从 DBNull 转换为其他类型”
- 对象不能从 DBNull 转换为其他类型
- 对象不能从DBNull 转换为其他类型
- C#程序中报“对象不能从 DBNull 转换为其他类型”错误
- 对象不能从DBNull转换为其他类型
- 异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。
- 对象不能从DBNull转换为其他类型
- C# 对象不能从 DBNull 转换为其他类型。
- 对象不能从DBNull转换为其他类型
- 对象不能从 DBNull 转换为其他类型。
- 对象不能从 DBNull 转换为其他类型。
- 对象不能从DBNull 转换为其他类型
- 对象不能从 DBNull 转换为其他类型。
- C# 异常"关于对象不能从DBNull转换为其他类型"