asp.net c# 链接数据库的问题, 新手求援!
我想做一个卖书的网站(自己做着玩 为了练习)在最后结账的时候 我想通过一个按钮 最后把产品号码,数量,价钱什么的写到 数据库的表里 就是一个订单表。(是不是很简单?)
但是提示我错误 大概意思是 null object 我自己猜测是 没找到数据库 没连上 可能是我连数据库的代码有问题,也可能是其它问题。请大家帮我看看,帮一下忙。book是数据库的名字 orderLine 是表名。
protected void Wizard1_FinishButtonClick(object sender, System.Web.UI.WebControls.WizardNavigationEventArgs e)
{
SqlConnection conn = null;
SqlTransaction trans = null;
SqlCommand cmd;
try
{
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["book"].ConnectionString);
conn.Open();
trans = conn.BeginTransaction();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Transaction = trans;
int OrderID = Convert.ToInt32(cmd.ExecuteScalar());
cmd.CommandText = "INSERT INTO OrderLines(OrderID, ProductID, Quantity, Price) " +
"VALUES (@OrderID, @ProductID, @Quantity, @Price)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@OrderID", SqlDbType.Int);
cmd.Parameters.Add("@ProductID", SqlDbType.Int);
cmd.Parameters.Add("@Quantity", SqlDbType.Int);
cmd.Parameters.Add("@Price", SqlDbType.Money);
cmd.Parameters["@OrderID"].Value = OrderID;
foreach (CartItem item in Profile.Cart.Items)
{
cmd.Parameters["@ProductID"].Value = item.ProductID;
cmd.Parameters["@Quantity"].Value = item.Quantity;
cmd.Parameters["@Price"].Value = item.Price;
cmd.ExecuteNonQuery();
}
trans.Commit();
}
catch (SqlException SqlEx)
{
if (trans != null)
trans.Rollback();
// Log the exception
// Tools.log("An error occurred while creating the order", SqlEx)
throw new Exception("An error occurred while creating the order", SqlEx);
}
finally
{
if (conn != null)
conn.Close();
}
Profile.Cart.Items.Clear();
}
------解决方案--------------------
搞清楚你调用的是哪个????????
XML code
<appSettings>
<add key="book" value="数据库连接字符串"/>
</appSettings>
<connectionStrings>
<add name="book" connectionString="数据库连接字符串"/>
</connectionStrings>