fhauin
2016-05-19 08:42
采纳率: 100%
浏览 4.1k
已采纳

在将 varchar 值 'JAZZ' 转换成数据类型 int 时失败。

图片说明

代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Describe : System.Web.UI.Page
{
SqlHelper sqloperate = new SqlHelper();
SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
if (Session["users"] != null)
{
sqlconn.Open();
string sqlstr = "Select * from tb_GoodsInfo where GoodsID='" + Session["users"].ToString() + "'";
SqlDataAdapter myApter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet myDS = new DataSet();
myApter.Fill(myDS, "tb_GoodsInfo");
if (myDS.Tables["tb_GoodsInfo"].Rows.Count > 0)
{

                DataRowView rowView = myDS.Tables["tb_GoodsInfo"].DefaultView[0];
                txtGoodsName.Text = Convert.ToString(rowView["GoodsName"]);
                txtKind.Text = Convert.ToString(rowView["GoodsKind"]);
                imgGoodsPhoto.ImageUrl = Convert.ToString(rowView["GoodsPhoto"]);
                txtGoodsDesc.Text = Convert.ToString(rowView["GoodsIntroduce"]);
            }


        }
        else
            Response.Write("<script>alert('您还没有登录,请登录后再使用,谢谢!');</script>");
    }
}



//关闭窗口
protected void btnClose_Click(object sender, EventArgs e)
{
    Response.Write("<script>window.close();</script>");
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 胖子程序员 2016-05-20 16:09
    已采纳

    varchar对应取出来是string,如果你硬要转成int 也该是integer.parse

    点赞 打赏 评论
  • caiboyu110 2016-05-19 08:47

    一个字符串怎么能转换成int呢。。。。肯定会报错啊

    点赞 打赏 评论
  • 错误不是很明显了,数据类型错了,你的goodsid是数字类型,session存储的是字符串转换不成数字

    Session["users"].ToString() 要存储用户的id,不是用户名

    点赞 打赏 评论
  • Robot-S 2016-05-19 08:53

    消息 245,级别 16,状态 1,过程 Sp_BackVoiceIDs,第 38 行
    在将 varchar 值 ',' 转换成数据类型 int 时失败。

    搜了一下,发现字符串变量和整型变量不能用+

    CAST()函数可以将某种数据类型的表达式转化为另一种数据类型

    select
    cast表达式 as 数据类型)

    select
    CAST('......
    答案就在这里:在将 varchar 值 ',' 转换成数据类型 int 时失败。
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 打赏 评论

相关推荐 更多相似问题