首页 新闻 会员 周边 捐助

请高手帮忙看一下此段代码的错误之处!!!

0
悬赏园豆:5 [已解决问题] 解决于 2010-08-31 12:13

Image.aspx 页面

protected void Page_Load(object sender,EventArgs e)

{

 if(!IsPostBack)

 {

  string id=Request.QueryString["Id"].ToString();

  SqlConnection con=new SqlConnection("server=PC-PC\\SQL2005;database=UUU1;User Id=sa;Password=sasa");

  con.Open();

  string strSql="select * from Customer where Id"+id;

  SqlCommand  com=new SqlCommand(strSql,con);

  SqlDataReader dr=com.ExecuteReader();

  if(dr.Read())

   {

    Response.BinaryWrite((byte[])dr["Image"]);

    }

  con.Close();

 }

}

this.Image1.ImageUrl="Image.aspx?Id"+id

其中数据库中Image字段类型为Image,请问高手上边代码有什么问题?

逸风Michelle的主页 逸风Michelle | 初学一级 | 园豆:180
提问于:2010-08-24 17:49
< >
分享
最佳答案
0

SqlDataReader dr=com.ExecuteReader(); 使用的时候建议用

using(SqlDataReader dr=com.ExecuteReader();){

 

}

因为这个东西要手动关闭。用using会自动释放的。

还有就是楼上说过的string类型和int类型相加的问题

收获园豆:5
邢少 | 专家六级 |园豆:10926 | 2010-08-25 11:13
如何做到string类型和int类型相加呢:int id=convert.ToInt32(Request.QueryString["Id"].ToString);后边的SQL语句string strSql="select * from Customer where Id=id";这样不正确呢,该如何写?
逸风Michelle | 园豆:180 (初学一级) | 2010-08-25 11:56
转换类型。strSql="select * from Customer where Id=“+id.ToString();
邢少 | 园豆:10926 (专家六级) | 2010-08-25 16:35
其他回答(4)
0

少了一个 = 等号

string strSql="select * from Customer where Id="+id;

 


string strSql="select * from Customer where Id"+id;

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2010-08-24 20:23
就这一个问题?值传递方面没有问题?
支持(0) 反对(0) 逸风Michelle | 园豆:180 (初学一级) | 2010-08-24 20:26
http://www.cnblogs.com/cry/archive/2007/01/18/623973.html 看这个吧 应该是你想要的
支持(0) 反对(0) 码尔代夫iimax | 园豆:3138 (老鸟四级) | 2010-08-25 09:57
0

this.Image1.ImageUrl="Image.aspx?Id="+id

 

string id=Request.QueryString["Id"].ToString();

最好转换成int型,要不然是字符的话,就出错了

jowo | 园豆:2834 (老鸟四级) | 2010-08-25 09:31
恩,是不是可以写成int id=convert.ToInt32(Request.QueryString["Id"].ToString)? 可是这样仍会在这一行中出现“为将对象引用设置到对象的实例”错误提示,请指教!!!
支持(0) 反对(0) 逸风Michelle | 园豆:180 (初学一级) | 2010-08-25 09:43
0

this.Image1.ImageUrl="Image.aspx?Id"+id

这边也少了个“=”号

kyo-yo | 园豆:5587 (大侠五级) | 2010-08-25 09:35
0

Request.QueryString["Id"].ToString() 改一种写法

Request["Id"].ToString()

最好是先判断下

if(Request["Id"]!=null)

{

id=Request["Id"].ToString();

}

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-31 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册