asp.net中查找数据库表的功能,有个文本框,输入表名称,再点击打开,如果有该表,就可以在gridview中显示
if()//如果从数据库中找得到该表则执行下面操作,如果找不到则执行else中的操作,这if语句里怎么写? &n...
if()//如果从数据库中找得到该表则执行下面操作,如果找不到则执行else中的操作,这if语句里怎么写? { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["manageConnectionString"].ConnectionString); con.Open(); string sqlstr4 = "select * from table_" + TextBox1.Text.Trim(); SqlDataAdapter myada4 = new SqlDataAdapter(sqlstr4, con); DataSet myds4 = new DataSet(); myada4.Fill(myds4); this.GridView1.DataSource = null; this.GridView1.DataSource = myds4.Tables[0]; this.GridView1.DataBind(); } else { Response.Write("<script>alert('查找不到该表,请确认输入的表名称是否正确!')</script>"); }
展开
3个回答
展开全部
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["manageConnectionString"].ConnectionString); con.Open();
string s="select "+TextBox1.Text.Trim()+" from sysobjects where xtype='u'";//先查询有没有这个表
SqlCommand comm = new SqlCommand();
SqlDataReader sd = comm.ExecuteReader();
if(sd.Read())
{}
else{}一个一个打的,你试试看行不行,别粘贴
如果不行的话,你试试 int sd =comm.ExecuteNonQuery();
if(sd>0)
{}
string s="select "+TextBox1.Text.Trim()+" from sysobjects where xtype='u'";//先查询有没有这个表
SqlCommand comm = new SqlCommand();
SqlDataReader sd = comm.ExecuteReader();
if(sd.Read())
{}
else{}一个一个打的,你试试看行不行,别粘贴
如果不行的话,你试试 int sd =comm.ExecuteNonQuery();
if(sd>0)
{}
展开全部
if后面的括号里,需要判断数据库是否存在该表,那么就需要连接数据库。
所以你这里在if后面的大括号里才连接数据库,就不对了。
你需要在if之前就连接一次数据库,并用SQL语句
SELECT COUNT(0) FROM sysobjects WHERE [name]='表名' AND xtype='u' 来判断数据库里是否存在该表。
然后再继续你后面的那些逻辑。
或者你可以再省事一点,直接一次搞定:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["manageConnectionString"].ConnectionString);
con.Open();
string tableName = TextBox1.Text.Trim();
string sql = String.Format(@"IF EXISTS(SELECT 1 FROM SYSOBJECTS WHERE name='{0}' AND xtype='U')
SELECT * FROM {0}
ELSE
SELECT 1 WHERE 1<>1", tableName);
DataSet myds4 = new DataSet();
SqlDataAdapter myada4 = new SqlDataAdapter(sql, con);
myada4.Fill(myds4);
con.Close();
if (myds4.Tables.Count > 0 && myds4.Tables[0].Rows.Count > 0)
{
this.GridView1.DataSource = null;
this.GridView1.DataSource = myds4.Tables[0];
this.GridView1.DataBind();
}
else
{
Response.Write("<script>alert('查找不到该表,请确认输入的表名称是否正确!')</script>");
}
所以你这里在if后面的大括号里才连接数据库,就不对了。
你需要在if之前就连接一次数据库,并用SQL语句
SELECT COUNT(0) FROM sysobjects WHERE [name]='表名' AND xtype='u' 来判断数据库里是否存在该表。
然后再继续你后面的那些逻辑。
或者你可以再省事一点,直接一次搞定:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["manageConnectionString"].ConnectionString);
con.Open();
string tableName = TextBox1.Text.Trim();
string sql = String.Format(@"IF EXISTS(SELECT 1 FROM SYSOBJECTS WHERE name='{0}' AND xtype='U')
SELECT * FROM {0}
ELSE
SELECT 1 WHERE 1<>1", tableName);
DataSet myds4 = new DataSet();
SqlDataAdapter myada4 = new SqlDataAdapter(sql, con);
myada4.Fill(myds4);
con.Close();
if (myds4.Tables.Count > 0 && myds4.Tables[0].Rows.Count > 0)
{
this.GridView1.DataSource = null;
this.GridView1.DataSource = myds4.Tables[0];
this.GridView1.DataBind();
}
else
{
Response.Write("<script>alert('查找不到该表,请确认输入的表名称是否正确!')</script>");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if((int)cmd.executequary()==0){
。。。。。。
}else{
。。。。。。
}
。。。。。。
}else{
。。。。。。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询