在ASP.NET(VB)中编辑SQL Server数据库(INSERT,UPDATE等)

时间:2014-10-10 03:35:25

标签: sql asp.net vb.net

我目前正在学习使用Visual Studio Express 2013 for Web编写ASP.NET网站,我计划开发一个在线购物网站。我已经启动了一个新网站,将一个SQL Server数据库(eCommerce.mdf)添加到WebSite(在VS中),创建了两个表并使用以下查询插入了一行数据:

CREATE TABLE product (product_id char(4) PRIMARY KEY, product_name varchar(50), product_price money, product_stock int);
INSERT INTO product VALUES ('P001', 'Omega Seamaster Planet Ocean 600m', 68000, 7);
CREATE TABLE cart (customer_id char(4), product_id char(4), cart_quantity int);

然后我在网站中添加了一个新的网络表单Product.aspx,并GridViewproduct表格中获取数据(它在源代码中显示SelectCommand="SELECT * FROM [product]")我的数据库。它运行正常但我想创建一个Button,即添加到购物车,它可以执行INSERT INTO函数向cart表添加新行。我尝试使用以下代码:

OnClick html代码中添加Button个事件

<asp:Button ID="Button1" runat="server" Text="Add to cart" OnClick="func1" />

func1之前添加<html xmlns="http://www.w3.org/1999/xhtml">事件的脚本

<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
Sub func1()
    Dim cn As New SqlConnection("I dont know what I should type here!")
    cn.Open()
    Dim cmd = New SqlCommand("INSERT INTO cart VALUES ('C001', 'P001', 1);")
    cmd.ExecuteNonQuery()
    cn.Close()
End Sub
</script>

我不确定要传递给ConnectionString的{​​{1}}参数,因为我已尝试过很多来自互联网的示例,但它们都不适用于我。

SqlConnection()文件下的connectionStringsWebconfig以外的ConnectionStringDefaultConnectionconnectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\eCommerce.mdf;Integrated Security=True"

此外,如果我使用An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code事件而不是Button事件,我在调试模式下点击OnClick时会收到消息OnClientClick

所以我的问题是,我应该输入什么ConnectionString参数以及我应该修改的其他任何内容以使func1按预期工作?我也很欣赏任何其他方法。

谢谢。

1 个答案:

答案 0 :(得分:2)

你可以这样试试。

Dim connectionString As String = ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString
Dim cn As New SqlConnection(connectionString)
cn.Open()
Dim cmd = New SqlCommand("INSERT INTO cart VALUES ('C001', 'P001', 1);", cn)
cmd.ExecuteNonQuery()
cn.Close()