谁能帮我看看这代码那里有问题,提示说是输入字符串有问题,读不出购物车,哪位帮我看看
,我刚注册的分不是很多
if(!IsPostBack)
{ if (Session["ShopCart"] == null)
{
this.LinkCheck.Visible = false;
this.LinkClear.Visible = false;
this.LinkContinue.Visible = false;
}
else
{
hashCar = (Hashtable)Session["ShopCart"];
if (hashCar.Count == 0)
{
this.LinkCheck.Visible = false;
this.LinkClear.Visible = false;
this.LinkContinue.Visible = false;
}
else
{
dt = new DataTable(); DataColumn column1 = new DataColumn("NO");
DataColumn column2 = new DataColumn("BOOKID");
DataColumn column3 = new DataColumn("BOOOKNAME");
DataColumn column4 = new DataColumn("NUMBER");
DataColumn column5 = new DataColumn("PRICE");
DataColumn column6 = new DataColumn("SUMPRICE");
dt.Columns.Add(column1);
dt.Columns.Add(column2);
dt.Columns.Add(column3);
dt.Columns.Add(column4);
dt.Columns.Add(column5);
dt.Columns.Add(column6);
DataRow Row;
foreach (object key in hashCar.Keys)
{
Row = dt.NewRow();
Row["BOOKID"] = key.ToString();
Row["NUMBER"] = hashCar[key].ToString();
dt.Rows.Add(Row);
} DataTable dstable; int i = 1; float price; int count; float sumprice = 0; foreach (DataRow drRow in dt.Rows)
{ Sql = "select BookName,PRICE from book where BOOKID=" + Convert.ToInt32(drRow["BOOKID"].ToString());
dstable = HP.SelectBysql(Sql);
drRow["NO"] = i;
drRow["BOOKNAME"] = dstable.Rows[0][0].ToString();
drRow["PRICE"] = (dstable.Rows[0][1].ToString());
price = float.Parse(dstable.Rows[0][1].ToString());
count = Int32.Parse(drRow["NUMBER"].ToString());
drRow["SUMPRICE"] = price * count;
sumprice += price * count;
}
this.labTotalPrice.Text = "总价:" + sumprice.ToString(); this.ShopPing.DataSource = dt.DefaultView;
this.ShopPing.DataKeyNames = new string[] { "BOOKID" };
this.ShopPing.DataBind();
}
}
}
,我刚注册的分不是很多
if(!IsPostBack)
{ if (Session["ShopCart"] == null)
{
this.LinkCheck.Visible = false;
this.LinkClear.Visible = false;
this.LinkContinue.Visible = false;
}
else
{
hashCar = (Hashtable)Session["ShopCart"];
if (hashCar.Count == 0)
{
this.LinkCheck.Visible = false;
this.LinkClear.Visible = false;
this.LinkContinue.Visible = false;
}
else
{
dt = new DataTable(); DataColumn column1 = new DataColumn("NO");
DataColumn column2 = new DataColumn("BOOKID");
DataColumn column3 = new DataColumn("BOOOKNAME");
DataColumn column4 = new DataColumn("NUMBER");
DataColumn column5 = new DataColumn("PRICE");
DataColumn column6 = new DataColumn("SUMPRICE");
dt.Columns.Add(column1);
dt.Columns.Add(column2);
dt.Columns.Add(column3);
dt.Columns.Add(column4);
dt.Columns.Add(column5);
dt.Columns.Add(column6);
DataRow Row;
foreach (object key in hashCar.Keys)
{
Row = dt.NewRow();
Row["BOOKID"] = key.ToString();
Row["NUMBER"] = hashCar[key].ToString();
dt.Rows.Add(Row);
} DataTable dstable; int i = 1; float price; int count; float sumprice = 0; foreach (DataRow drRow in dt.Rows)
{ Sql = "select BookName,PRICE from book where BOOKID=" + Convert.ToInt32(drRow["BOOKID"].ToString());
dstable = HP.SelectBysql(Sql);
drRow["NO"] = i;
drRow["BOOKNAME"] = dstable.Rows[0][0].ToString();
drRow["PRICE"] = (dstable.Rows[0][1].ToString());
price = float.Parse(dstable.Rows[0][1].ToString());
count = Int32.Parse(drRow["NUMBER"].ToString());
drRow["SUMPRICE"] = price * count;
sumprice += price * count;
}
this.labTotalPrice.Text = "总价:" + sumprice.ToString(); this.ShopPing.DataSource = dt.DefaultView;
this.ShopPing.DataKeyNames = new string[] { "BOOKID" };
this.ShopPing.DataBind();
}
}
}
float.Parse(dstable.Rows[0][1].ToString());
count = Int32.Parse(drRow["NUMBER"].ToString());
值是否为数值型
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误:
行 83: {
行 84:
行 85: Sql = "select BookName,PRICE from book where BOOKID=" + Convert.ToInt32(drRow["BOOKID"].ToString());
行 86: dstable = HP.SelectBysql(Sql);
行 87: drRow["NO"] = i;
这是提示的错误
USE [ShopPing]
GO
/****** 对象: Table [dbo].[book] 脚本日期: 06/06/2010 14:38:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[book](
[BOOKID] [int] IDENTITY(1,1) NOT NULL,
[BOOKNAME] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[AUTHOR] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PRESS] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PRESSDATE] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[TYPENAME] [varchar](30) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PRICE] [float] NOT NULL,
[INFO] [varchar](300) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ISBN] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PIC] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]GO
SET ANSI_PADDING OFF这是数据库
是否是“1”这样的,还是包括了其他的字符,eg,“1s”