一个关于table的联动,帮忙看看这段代码错在何处?谢谢

kakamylove111 2009-04-28 09:31:08
大家好:
我准备实现一个简单联动的功能,就是第一个dropdownlist里面选择表明,在之后的gridview里面展现选择表的内容。
我是用:TABLE_NAME做SqlDataSource2的变量的,以下代码运行不报错,但是一旦把gridview绑定数据源到SqlDataSource2上以后,就报invalid tablename 的错误。
这个是什么原因啊?请高手给分析一下
谢谢

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=stat11;Persist Security Info=True;User ID=rrr;Password=rrr;Unicode=True"
ProviderName="System.Data.OracleClient" SelectCommand='SELECT "TABLE_NAME" FROM "TBLIST"'>
</asp:SqlDataSource>
<aspropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1"
DataTextField="TABLE_NAME" DataValueField="TABLE_NAME">
</aspropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=stat11;Persist Security Info=True;User ID=rrr;Password=rrr;Unicode=True"
ProviderName="System.Data.OracleClient" SelectCommand='SELECT * FROM :TABLE_NAME' OnSelecting="SqlDataSource2_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue="aaa" Name="TABLE_NAME"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
...全文
112 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakamylove111 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 supper168 的回复:]
晕,说到这了还要让改呀,
[/Quote]
我菜啊 呵呵 结贴了
自己研究研究去 谢谢各位了
春天的气息 2009-04-29
  • 打赏
  • 举报
回复
晕,说到这了还要让改呀,
kakamylove111 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xukuilove 的回复:]
不能用tablename来作为参数,举个例子吧,
你不能select * from @tablename,你可以
select * from student where id=@id,
也就是说只能以字段来做参数,实在想以tablename作为参数的话
你只能手工来做,比如说
string strSelect = "select * from " + this.DropDownList1.SelectedValue;
这样写
[/Quote]
string strSelect = "select * from " + this.DropDownList1.SelectedValue;
这句应该加在哪里?能不能帮忙直接在我的程序上改下,十分感谢!!!
Ro914 2009-04-29
  • 打赏
  • 举报
回复
up
gang027 2009-04-29
  • 打赏
  • 举报
回复
mark
赤色火焰 2009-04-29
  • 打赏
  • 举报
回复
不能用tablename来作为参数,举个例子吧,
你不能select * from @tablename,你可以
select * from student where id=@id,
也就是说只能以字段来做参数,实在想以tablename作为参数的话
你只能手工来做,比如说
string strSelect = "select * from " + this.DropDownList1.SelectedValue;
这样写
kakamylove111 2009-04-29
  • 打赏
  • 举报
回复
自己顶一下
kakamylove111 2009-04-28
  • 打赏
  • 举报
回复
谢谢,那我这段程序问题出在哪,想搞明白一些,以后好注意,呵呵
谢谢
快40的码农 2009-04-28
  • 打赏
  • 举报
回复
用selectedindexchange时间做方便
kakamylove111 2009-04-28
  • 打赏
  • 举报
回复
有用的就这一段,我认为可能出错的用红色标记了,请专家们分析下
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=stat11;Persist Security Info=True;User ID=rrr;Password=rrr;Unicode=True"
ProviderName="System.Data.OracleClient" SelectCommand='SELECT "TABLE_NAME" FROM "TBLIST"'>
</asp:SqlDataSource>
<aspropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1"
DataTextField="TABLE_NAME" DataValueField="TABLE_NAME">
</aspropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="Data Source=stat11;Persist Security Info=True;User ID=rrr;Password=rrr;Unicode=True"
ProviderName="System.Data.OracleClient" SelectCommand='SELECT * FROM :TABLE_NAME' OnSelecting="SqlDataSource2_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue="aaa" Name="TABLE_NAME"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
LemIST 2009-04-28
  • 打赏
  • 举报
回复
顶 ,太长的代码

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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