c# sql语句 表名是以变量,怎么求解

在程序中我定义了一张表DTdatatableDT=newdatatable();DT=多条件查询的结果现在我想把DT作为一个变量,传入sql中,再次以DT为数据表,查询满... 在程序中我定义了一张表DT
datatable DT=new datatable();
DT=多条件查询的结果
现在我想把DT作为一个变量,传入sql中,再次以DT为数据表,查询满足我需要的数据
做法如下:
public datatable GetPlan(string tableName)
{
sqlconnection conn=new sqlconnection()
conn.open();
string strSQL="select * from "+tableName+" where status != 2";
sqlcommand cmd =new sqlcommand(strSQL,conn);
sqldataadapter da=new sqldataadapter(cmd);
datatable dt=new datatable();
da.fill(dt);
conn.close();
return dt;
}
在程序中,使用gradview显示我需要的结果
gradview1.datasource=GetPlan(DT.TableName)
gradview1.databind();
出现的问题是:
DT.TableName 取不到表名
还有请问sqlconnection 连接我应该怎么写?
请各位大虾给予帮助,急!急!谢谢!
展开
 我来答
woshifotuo
2010-10-20 · TA获得超过701个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:267万
展开全部
你没有搞清楚,你给GetPlan(string tableName)方法传参传的是一个字符串,这个字符串是你要查询的表的名字,对吧?这张表肯定在数据库中已经存在,那么,在你传参的时候,根据你页面中的条件,进入后台之后就应该能确定是从那张数据表中检索数据了吧,如果不确定,你可以判定下啊:
if(..)
{
tableName="tbl_user";
}
if()
{
tableName="tbl_authority";
}
知道要查找或处理那张表了,再调用:gradview1.datasource=GetPlan(tableName)
gradview1.databind();
这样,数据绑定就成功了,明白了么?
----------------------------------
在程序中我定义了一张表DT
datatable DT=new datatable();
----------------------------------
这两句话是没有意义的
希望我的回答对你有帮助,祝你好运!!!
百度网友40a74a492
2010-10-20 · 超过12用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:34.9万
展开全部
datatable DT=new datatable();
取不到就对了,你有new的时候本就没有指定给他确定的表名啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baxyzzz
2010-10-22
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
string strSQL = "select * from '" + tableName + "' where status != 2"; 改成这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式