代码页中定义一个函数,其中使用sql server select语句传值,求大神指点

没来 2012-01-30 06:01:58
code-file中的代码


Protected Function SmallSlideTitle(Name As String) As String
Dim sqlConn As SqlConnection
Dim sqlCommSmallSlideTitle As SqlCommand
Dim reader As SqlDataReader
Dim strConn As String = ConfigurationManager.ConnectionStrings("myDB").ConnectionString
sqlConn = New SqlConnection(strConn)

sqlCommSmallSlideTitle = New SqlCommand("SELECT Detail FROM HomePage WHERE Name=" & Name & "", sqlConn)

Try
sqlConn.Open()
reader = sqlCommSmallSlideTitle.ExecuteReader
If reader.Read() Then
SmallSlideTitle = reader.Item("Detail").ToString
End If
reader.Close()
Finally
sqlConn.Close()
End Try
End Function


前台代码

<a href="" ><br /><br /><%=SmallSlideTitle("SSlide1Title")%></a>


错误:
异常详细信息: System.Data.SqlClient.SqlException: 列名 'SSlide1Title' 无效。

-------
数据库表中有三列,分别是ID,NAME,DETAIL。

如果将函数中的参数换成实际内容,比如select ....where name = 'SSlide1Title',一切正常。

问题出在哪?谢谢!


...全文
110 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
没来 2012-01-31
  • 打赏
  • 举报
回复
1楼答案正确。。。2楼修改后提示错误。另,能否提供一些关于<%#%>类似的知识?新手,啥都不懂
暖枫无敌 2012-01-30
  • 打赏
  • 举报
回复
<a href="" ><br /><br /><%=SmallSlideTitle("SSlide1Title")%></a>

=========================》
<a href="" ><br /><br /><%#SmallSlideTitle("SSlide1Title")%></a>
暖枫无敌 2012-01-30
  • 打赏
  • 举报
回复
少了一对单引号,问题就出在这
还有使用Name这个SQL关键字,最好加上[],如下写写试试看

sqlCommSmallSlideTitle = New SqlCommand("SELECT Detail FROM HomePage WHERE [Name]='" & Name & "'", sqlConn)

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧