sqld.Fill(ds,"user");老是出错

问题描述

这是一个登陆程序stringstrConn=WebConfigurationManager.ConnectionStrings["festivalConnectionString"].ConnectionString;SqlConnectioncon=newSqlConnection(strConn);con.Open();SqlDataAdaptersqld=newSqlDataAdapter("SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'",con);sqld.SelectCommand.Parameters.AddWithValue("@user_login",TextBox1.Text);sqld.SelectCommand.Parameters.AddWithValue("@user_password",TextBox2.Text);DataSetds=newDataSet();sqld.Fill(ds,"user");.//就这个地方一直出错DataTabledTable=ds.Tables["user"];DataRowCollectionrows=dTable.Rows;if(rows.Count>0){Session["user_id"]=rows[0][0];Session["user_name"]=rows[0][1];ShowInfo(Int32.Parse(rows[0][0].ToString()));}else{Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"success","alert("用户名密码错误");",true);}con.Close();con=null;}错误信息Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitoriginatedinthecode.System.Data.SqlClient.SqlException:“=”附近有语法错误。SourceError:Line25:sqld.SelectCommand.Parameters.AddWithValue("@password",TextBox2.Text);Line26:DataSetds=newDataSet();Line27:sqld.Fill(ds,"user");Line28:DataTabledTable=ds.Tables["user"];Line29:DataRowCollectionrows=dTable.Rows;

解决方案

解决方案二:
where后面明显没空格。。。。
解决方案三:
引用1楼just_so_so_yjj的回复:

where后面明显没空格。。。。

"SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'"你这sql有问题吧,最后那+“‘“没必要加上了,用了参数替换不用单引号了,而且你这个单引号还只有后面一半
解决方案四:
很明显你实例化SqlDataAdapter的时候,sql语句不能在数据库执行。SqlDataAdaptersqld=newSqlDataAdapter("SELECTuser_id,user_nameFROMZ_USERWHEREuser_login=@user_loginANDuser_password=@user_password",con);

解决方案五:
“=”附近有语法错误这句话比较明显说明sql语句有问题"SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'"WHERE"+"user_login这里少了一个空格。应该是"SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'"

解决方案六:
引用4楼hanjun0612的回复:

“=”附近有语法错误这句话比较明显说明sql语句有问题"SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'"WHERE"+"user_login这里少了一个空格。应该是"SELECTuser_id,user_nameFROMZ_USERWHERE"+"user_login=@user_loginANDuser_password=@user_password"+"'"

还有,刚才没注意,最后单引号不需要
解决方案七:
where后面少空格,=后面少'

时间: 2024-12-30 18:19:38

sqld.Fill(ds,"user");老是出错的相关文章

在位置0处没有行txtnumber.Text = ds.Tables["DocInfo"].Rows[0][0].ToString()

问题描述 txtnumber.Text=ds.Tables["DocInfo"].Rows[0][0].ToString().Trim();在位置0处没有行是怎么回事啊 解决方案 解决方案二:就是没有行.解决方案三:DataTabledtbl=ds.Tables["DocInfo"];intcount=dtbl.Rows.Count;txtnumber.Text=dtbl.Rows[0][0].ToString().Trim();将代码换成这3行,在第一行设置断点,

jsp truts-<div class="error_mes">${message}</div>

问题描述 <div class="error_mes">${message}</div> ${message}什么意思?${message}通常在哪实现? 解决方案 ${message}是java中el表达式 可以获取域中的值 四大作用域 application request session pageContext 建议百度看下el表达式就ok了 解决方案二: jsp中的EL表达式,具体看下这里面.http://blog.csdn.net/chinacshar

ajax-兄弟伙我的OnSuccess=&amp;amp;quot;afterLogin&amp;amp;quot;咋调用不起

问题描述 兄弟伙我的OnSuccess="afterLogin"咋调用不起 兄弟伙我的OnSuccess="afterLogin"咋调用不起,直接返回return Content类容到页面 @{ Layout = null; } <!DOCTYPE html> 网上超市管理系统 </p> <pre><code> //就是执行controller方法以后执行的方法 function afterLogin(data) {

safari-MacBook的Safari下type=&amp;amp;quot;submit&amp;amp;quot;点击后显示不出div

问题描述 MacBook的Safari下type="submit"点击后显示不出div 如题,按钮点击的时候在window浏览器这个红色背景的div会一闪而过,但是在macbook的Safari中什么效果都没有,return false的时候div可以显示出来,但表单还怎么提交啊,return true时页面中div已经加载变成block了,感觉是还没来得及被浏览器渲染页面就刷新了一下,有没有什么办法可以让它有一闪而过的效果? html: <div id="divTes

jquery mobile中使用data-role=&amp;amp;quot;dialog&amp;amp;quot;弹出对话框的问题

问题描述 jquery mobile中使用data-role="dialog"弹出对话框的问题 如图,当页面除了一个"page"和"dialog"还有其它的 容器时,对话框后的背景就会显示没有样式的这个容器内容, 这是为什么呢,怎样才能让背景中不显示任何东西 解决方案 试试把背景内容放到另一个page中 你说的data-role =dialog 我没注意到 这个属性... 另外 可以看看 . data-role=popup http://www.

java web-&amp;amp;lt;c:forEach items=&amp;amp;quot;${salesProducts }&amp;amp;quot; var=&amp;amp;quot;pro&amp;amp;quot;&amp;amp;gt;

问题描述 <c:forEach items="${salesProducts }" var="pro"> ${pro.goodsName}特价:¥${pro}/c:forEach pro的bean类属性都设了getter和setter方法,但是${pro.goodsName}没值,${pro}却有值 解决方案 检查一下goodsName属性名称有没写错. 解决方案二: private String goodsName;public String getG

无法打开登录所请求的数据库 &amp;amp;quot;HRSimple&amp;amp;quot;。登录失败。

问题描述 各位高手请问我写的程序放到IIS里阅览会出错.我是新手.实在是找不出原因了.说明在程序编写都可以访问数据库.放到IIS里可以阅览网页.但是不能读取数据库.是什么原因.[color=#00FFFF]ServerErrorin'/'Application.--------------------------------------------------------------------------------无法打开登录所请求的数据库"HRSimple".登录失败.用户'EP

this.dataadapter1.Fill(this.dataset, &amp;amp;quot;stu&amp;amp;quot;); 这句代码时候 说 我要表 已经被独占打开?怎么回事?在线 ……等待

问题描述 this.conn1=newSystem.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\admindb.accdb");this.conn1.Open();this.command1=newSystem.Data.OleDb.OleDbCommand("selectusernamefromadmin",this.conn1);this.dataadap

Cache.Insert(&amp;amp;quot;Data&amp;amp;quot;,ds,null)null代表什么/?

问题描述 Cache.Insert("Data",ds,null)null代表什么/? 解决方案 解决方案二:该项的文件依赖项或缓存键依赖项.当任何依赖项更改时,该对象即无效,并从缓存中移除.如果没有依赖项,则此参数包含空引用null表示没有依赖项解决方案三:up