executescalar问题

问题描述

protectedvoidButton2_Click(objectsender,EventArgse){SqlConnectioncoon=newSqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);stringinsetpp="insertintoshijuan(kemuid,shijuanname,shijuanss)values(1,'"+TextBox1.Text+"',1)";intafid=GetIDInsert(insetpp);if(afid!=0){foreach(GridViewRowdrinGridView1.Rows){stringsingle="insertintoshijuanxiangxi(shijuanid,type,shitiid,fenshu)values("+afid+",'单选题',"+int.Parse(((Label)dr.FindControl("label3")).Text)+","+int.Parse(TextBox3.Text)+")";Insert(single);}}}publicintGetIDInsert(stringXSqlString){intCount=0;SqlConnectioncoon=newSqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);coon.Open();SqlCommandcmd=newSqlCommand(XSqlString,coon);Count=int.Parse(cmd.ExecuteScalar().ToString().Trim());coon.Close();returnCount;}publicintInsert(stringXSqlString){intCount=-1;SqlConnectioncoon=newSqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);coon.Open();SqlCommandcmd=newSqlCommand(XSqlString,coon);Count=cmd.ExecuteNonQuery();coon.Close();returnCount;}}

解决方案

解决方案二:
cmd.ExecuteScalar()的结果是个对象objectxs=cmd.ExecuteScalar();应该先判断是否为空intrslt=0;if(xs==null){rslt=0;}else{rslt=int.Parse(rslt.Trim());}

解决方案三:
你的SQL是Insert,这时对应的应该是ExecuteNonQueryExecuteScalar是用于Select的
解决方案四:
然后如果你要获取新增后的id,那么你的insertsql后面还需要加句select,然后两句之间以分号做间隔insertxxxx;select@@identity

解决方案五:
不好意思,我没怎么懂。那个数据已经添加到数据库,但是点击保存按钮就有刚刚那个问题

时间: 2024-12-19 13:11:54

executescalar问题的相关文章

mysql-Mysql中com.ExecuteScalar(); 为什么先转为long再int??

问题描述 Mysql中com.ExecuteScalar(); 为什么先转为long再int?? Mysql中int sum=(int)(long)com.ExecuteScalar(); 为什么好先转为long再int?? MySqlCommand com=new MySqlCommand(""SELECT COUNT(*) from student""conn);int sum=(int)(long)com.ExecuteScalar(); 解决方案 你试试看能

oracle-cmd.ExecuteScalar()获取数据一直都是0的问题

问题描述 cmd.ExecuteScalar()获取数据一直都是0的问题 如图,正常情况下 cmd.ExecuteScalar()所得到的值应该是2, 解决方案 试试看"select 1" 如果还是返回0,就是你的oracle驱动的问题了.

框架设计之ADO.NET Command的ExecuteScalar误用情景及底层解说

最近下载了点资料,学了学Android,发现Android入门还算简单,从.NET过渡到Android,也就三七十一天的事. 大伙有空也可以学学... 好了,言归正文,那日,有网友发了一个他们公司的数据层框架的DLL,让我审视(Reflector查看如下):   炸一看框架,支持的数据库种类繁多,看来写框架的人涉及面还挺广的. 往里一看,比较悲催,有广度而无深度,另外数据库种类的dll需要提前引用,那是相当浩大的数据库工程:   框架具体就不过多点评了,在不经意思间,本人看到有一个闪光点,觉的可

command.ExecuteScalar()格式转换错误

问题描述 //查询该科目的题目数量privatestaticintGetQuestionCount(intsubjectId){//查询题目数量stringsql=string.Format("selectcount(*)fromQuestionwhereSubjectID='{0}'",subjectId);OleDbCommandcommand=newOleDbCommand(sql,DBHelper.connection);DBHelper.connection.Open();i

做的留言板登陆界面,出现“System.Data.SqlClient.SqlConnection”不包含“ExecuteScalar”的定义

问题描述 错误1"System.Data.SqlClient.SqlConnection"不包含"ExecuteScalar"的定义,并且找不到可接受类型为"System.Data.SqlClient.SqlConnection"的第一个参数的扩展方法"ExecuteScalar"(是否缺少using指令或程序集引用?)C:Users张小坨Desktopliuyanbanlogin.aspx.cs3922C:...liuyan

int count = Convert.ToInt32(CommonLib.AccessHelper.ExecuteScalar(sql));语句怎么改才正确

问题描述 <%@WebHandlerLanguage="C#"Class="Handler"%>usingSystem;usingSystem.Web;publicclassHandler:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){context.Response.ContentType="text/plain";if(context.Request["

.net连接SQLSERVER数据库,网页上不停的刷新就报错&amp;amp;quot;ExecuteScalar 要求已打开且可用的连接。连接的当前状态为打开。&amp;amp;quot;

问题描述 .net连接SQLSERVER数据库,网页上定时刷新就报错"ExecuteScalar要求已打开且可用的连接.连接的当前状态为打开."实在找不出问题出在哪了,请大家帮帮忙吧"/Web"应用程序中的服务器错误.--------------------------------------------------------------------------------ExecuteScalar要求已打开且可用的连接.连接的当前状态为打开.说明:执行当前Web

ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭(已连接)

问题描述 我用asp.net做了一个管理系统,在每次编译后,布署到IIS,第一次加载时,可能需要编译有点缓慢,然后我反复点菜单,链接到页面,偶尔随机会报这两个错ExecuteScalar要求已打开且可用的连接.连接的当前状态为已关闭ExecuteScalar要求已打开且可用的连接.连接的当前状态为已连接我的代码如下publicintGetRecorders(stringsql){SqlConnectionconn=Connection;SqlCommandcmd=newSqlCommand("s

name = mycmd.ExecuteScalar().ToString();ExecuteScalar 要求已打开且可用的 Connection。连接的当前

问题描述 publicpartialclass登录界面:Form{SqlCommandmycmd=newSqlCommand();SqlConnectionmyconn=newSqlConnection();public登录界面(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){stringmystr;mystr="DataSource=zoufengrui;InitialCatalog=Carecas