当前位置:编程学习 > C#/ASP.NET >>

我这段asp.net代码调试提示输入字符串错误是因为什么?

 int sameid;
                DateTime timenow = DateTime.Now;
                int i = DataAccess.ExecuteSql("insert into K_ordermaster (PreparerID) values ('" + userid + "')");
                if(i>0)
                {
                    sameid=Convert.ToInt32(DataAccess.ExecuteScalar("Select SCOPE_IDENTITY()").ToString());

我想得到我刚才插入表的最后一个id值  以备后面插入其他表用到这个关联的id

追问:可以给点意见吗?
答案:首先你这么做就有错误,SCOPE_IDENTITY()和插入T-SQL是关联的。你插入之后再读取就出错了!强烈不推荐这么写。

PreparerID字段是int类型的话,values就不要加单引

即:

int i = DataAccess.ExecuteSql("insert into K_ordermaster (PreparerID) values (" + userid + ")");

int sameid;
var obj = DataAccess.ExecuteScalar("insert into K_ordermaster (PreparerID) values (" + userid + ");Select SCOPE_IDENTITY()");
if(obj == null)
 sameid = 0;
else
 sameid = (int)obj;

上一个:奇怪的ASP中的FOR语句测试,代码如下:
下一个:求在ASP.NET中实现 打印功能代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,