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);
}
}
呵呵,完成,看了网上的,千篇一律,不知道都拷哪里的,不知道到底是谁写的,一个字不差的都拷贝拷贝再拷贝,本人实在看不下去,于是自己实践写下笔记与大家分享。