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

与数据库链接问题

本人做的一个查询的东东...可是再点击提交之后显示了东西本人不明白
数据库都已经配置完了,就是不能查找到出现以下提示
(列名 'name' 无效。
列名 '小背篓' 无效。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 列名 'name' 无效。
列名 '小背篓' 无效。

源错误: 


行 7:          sql = "select * from music where name=" & TextBox1.Text
行 8:          SqlDataSource1.SelectCommand = sql
行 9:          SqlDataSource1.Select(DataSourceSelectArguments.Empty)
行 10:     End Sub
行 11: End Class
 
) --------------------编程问答-------------------- 根据连接字符串去找相应的库
打开表结构 看到底有没有 那两个字段 --------------------编程问答--------------------

先确认music表中有name的字段,name是字符类型的SQL语句要这样写
sql = "select * from music where name='" & TextBox1.Text.Trim()&"'"
--------------------编程问答-------------------- 你如果不确定你的SQL很Ok

你每次把SQL放在 数据库 环境里面运行通过了再 放在程序里面  --------------------编程问答-------------------- 列名 'name' 无效。
列名 '小背篓' 无效


表中每有这两列。 --------------------编程问答-------------------- ...............实在是无语,这分明就是你sql语句错误
sql = "select * from music where [name]='" & TextBox1.Text & "'" --------------------编程问答-------------------- 还有,尽量不要用name这类名字作为数据库字段名,如果非要用请在查询里打上方括号 --------------------编程问答-------------------- 建议你写sql语句的时候用Format格式化一下,这样可以避免拼错。像你这个就是明显的拼写错误,少了引号。
比如

string strsql = string.Format("select * from music where name='{0}'","值");

这样出来,代码就清晰多了 --------------------编程问答-------------------- sql语句拼写错误 --------------------编程问答-------------------- 单引号问题……很常见啊 --------------------编程问答-------------------- ...............实在是无语,这分明就是你sql语句错误
sql = "select * from music where [name]='" & TextBox1.Text & "'"
这个应该可以实现了吧 --------------------编程问答-------------------- sql语句拼写有误 --------------------编程问答-------------------- --------------------编程问答-------------------- sql = "select * from music where [name]='" & TextBox1.Text & "'"

第1  name是SQL关键字 使用的时候用[]括起来
第2 你[name]列存的数据类型应该是字符型 就要用单引号了 --------------------编程问答-------------------- 楼上都已经解决了 --------------------编程问答-------------------- 现在语句改了
可是点击提交那个按钮之后没有反映。网页刷新一下就过去了。还是原来的, --------------------编程问答--------------------
引用 15 楼 zouwei200387 的回复:
现在语句改了
可是点击提交那个按钮之后没有反映。网页刷新一下就过去了。还是原来的,

打个断点,调试一下吧。 --------------------编程问答-------------------- sql = "select * from music where [name]='" & TextBox1.Text & "'"
是的,如果在数据库,比如你的表名或字段名,用了数据库的关键字,就必须放在"[]"号中 --------------------编程问答-------------------- 我也加了断点...可是还没有反映...这个是怎么回事啊。闹心死了...就是想做一个查找的东西.数据库就链接不上... --------------------编程问答-------------------- 将 varchar 值 '小背篓' 转换为数据类型为 int 的列时发生语法错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 将 varchar 值 '小背篓' 转换为数据类型为 int 的列时发生语法错误。

源错误: 


行 7:          strsql = "select * from music where [musicid]='" & TextBox1.Text & "'"
行 8:          SqlDataSource1.SelectCommand = strsql
行 9:          SqlDataSource1.Select(DataSourceSelectArguments.Empty)
行 10:     End Sub
行 11: End Class
 
--------------------编程问答-------------------- 这是我新改完的,出现了这种情况,
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,