数据库高手请进!!!C#中数据库语句执行问题。

angel_xiaa TOPSEC 测试工程师  2010-06-08 10:55:57
在C#中有两个aspx文件:default.aspx和default2.aspx
现在default.aspx中拖入了一个文本框(ID为txt)和一个Button按钮
在default2.aspx中拖入了一个DataGriew控件(ID为gvTest)

点击Button按钮,现需要根据default.aspx中文本框输入的值,在default2.aspx中执行Sql语句。

使用Session传递变量

在default.aspx中的Button事件中输入如下代码:
protected void Button1_Click(object sender, EventArgs e)
{
Session["a"] = txt.Text;
Response.Redirect("Default2.aspx");
}
在default.aspx中的Page_Load事件中输入如下代码:
protected void Page_Load(object sender, EventArgs e)
{
string a=(string )Session ["a"];

SqlConnection con = new SqlConnection("Server=(local);database=ypxt;Uid=sa;Password=hexi3456");
string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name='&a&'";
SqlCommand com = new SqlCommand(strSql, con);
SqlDataAdapter ada = new SqlDataAdapter();
ada.SelectCommand = com;
con.Open();
DataTable table = new DataTable();
DataSet ds = new DataSet();

ada.Fill(ds, "table");
con.Close();
table = ds.Tables["table"];
this.gvTest.DataSource = table.DefaultView;
this.gvTest.DataBind();
}

请问一下,strSql中的sql查询语句Where子句中的变量a应如何使用?这样执行出来没有任何结果,也没有报错。
请各位大侠不吝赐教!!!
...全文
102 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
小宇哥好帅 2010-06-09
string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name=@a";
SqlParameter parm1=new SqlParameter("@a",a);
com.Parameters.Add(parm1);
回复
angel_xiaa 2010-06-08
五楼的,顶!!!

长见识了......
回复
dataadapters 2010-06-08
试试将SQL 语句在数据库中写成带参数的存储过程,然后在代码中调用存储过程
回复
w3c5201314 2010-06-08
[Quote=引用 5 楼 suixufeng 的回复:]
........

string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name=@a";
SqlParameter parm1=new SqlParameter("@a",a);
com.Param……
[/Quote]
这种方式比较好,以防变量中存的是非法值
顶....
回复
angel_xiaa 2010-06-08
1楼的就可以了,谢谢!!!
回复
ajq1989 2010-06-08
code=C#]
string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name=@a";
SqlParameter p = new SqlParameter("@a",a);
com.Parameters.AddRange(p);[

[/code]
回复
david-sui 2010-06-08
........

string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name=@a";
SqlParameter parm1=new SqlParameter("@a",a);
com.Parameters.Add(parm1);

......
回复
deknight 2010-06-08

string strSql = @"select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name="+a+";
回复
兔子党-督察 2010-06-08
string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name='&"+a+"&'";
回复
deknight 2010-06-08
string strSql = "select Enterprise_name,Enterprise_ph,Enterprise_email,Enterprise_date from Enterprise where Enterprise_name='"+a+"'";
回复
angel_xiaa 2010-06-08
在线等啊!!!麻烦帮帮忙啊!!!
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2010-06-08 10:55
社区公告

让您成为最强悍的C#开发者