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 连接我应该怎么写?
请各位大虾给予帮助,急!急!谢谢! 展开
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 连接我应该怎么写?
请各位大虾给予帮助,急!急!谢谢! 展开
3个回答
展开全部
你没有搞清楚,你给GetPlan(string tableName)方法传参传的是一个字符串,这个字符串是你要查询的表的名字,对吧?这张表肯定在数据库中已经存在,那么,在你传参的时候,根据你页面中的条件,进入后台之后就应该能确定是从那张数据表中检索数据了吧,如果不确定,你可以判定下啊:
if(..)
{
tableName="tbl_user";
}
if()
{
tableName="tbl_authority";
}
知道要查找或处理那张表了,再调用:gradview1.datasource=GetPlan(tableName)
gradview1.databind();
这样,数据绑定就成功了,明白了么?
----------------------------------
在程序中我定义了一张表DT
datatable DT=new datatable();
----------------------------------
这两句话是没有意义的
希望我的回答对你有帮助,祝你好运!!!
if(..)
{
tableName="tbl_user";
}
if()
{
tableName="tbl_authority";
}
知道要查找或处理那张表了,再调用:gradview1.datasource=GetPlan(tableName)
gradview1.databind();
这样,数据绑定就成功了,明白了么?
----------------------------------
在程序中我定义了一张表DT
datatable DT=new datatable();
----------------------------------
这两句话是没有意义的
希望我的回答对你有帮助,祝你好运!!!
展开全部
datatable DT=new datatable();
取不到就对了,你有new的时候本就没有指定给他确定的表名啊。
取不到就对了,你有new的时候本就没有指定给他确定的表名啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string strSQL = "select * from '" + tableName + "' where status != 2"; 改成这样就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询