2011-01-21 111 views
14

嗨 在PHP我會做一個表單,讓一個process.php頁面,並在該網頁我會採取後值和使用mysql_query會做一個插入。 現在我迷路了,我正嘗試使用Visual Studio 2010在SQL Server 2008中創建一個並在ASP.net中執行inserstion。ASP.net使用表格將數據插入到sql服務器表

我已經在App_Data文件夾中定義了一個sql數據庫。 basicly我需要什麼(除非有更好的辦法)是:

  1. 我如何得到這個職位值。
  2. 我如何將它們插入數據庫。

謝謝。

+1

,你可能會發現這個資源有用:http://www.asp.net/general/視頻#樓%20Web%20Applications%20with%20ASP.NET%203.5%20於是%20Microsoft%20Visual%20Web%20Developer%202008 – Greg 2011-01-21 20:53:23

回答

15

網上有很多關於如何做到這一點的示例代碼。

這裏是如何做到這一點只是一個例子: http://geekswithblogs.net/dotNETvinz/archive/2009/04/30/creating-a-simple-registration-form-in-asp.net.aspx

定義了以下標籤之間的文本框:

<form id="form1" runat="server"> 

您創建文本框,並定義它們的Runat =「服務器「像這樣:

<asp:TextBox ID="TxtName" runat="server"></asp:TextBox> 

定義一個按鈕來處理你的邏輯,像這樣(注意的onclick):

<asp:Button ID="Button1" runat="server" Text="Save" onclick="Button1_Click" /> 
在後面的代碼

,可以定義你想要的服務器做的,如果用戶定義了一個名爲方法點擊按鈕

protected void Button1_Click(object sender, EventArgs e) 

,或者你可以只需雙擊按鈕在設計視圖中。

這裏是一個代碼非常快的樣品插入表中的按鈕單擊事件(代碼隱藏)

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string name = TxtName.Text; // Scrub user data 

    string connString = ConfigurationManager.ConnectionStrings["yourconnstringInWebConfig"].ConnectionString; 
    SqlConnection conn = null; 
    try 
    { 
      conn = new SqlConnection(connString); 
      conn.Open(); 

      using(SqlCommand cmd = new SqlCommand()) 
      { 
       cmd.Conn = conn; 
       cmd.CommandType = CommandType.Text; 
       cmd.CommandText = "INSERT INTO dummyTable(name) Values (@var)"; 
       cmd.Parameters.AddWithValue("@var", name); 
       int rowsAffected = cmd.ExecuteNonQuery(); 
       if(rowsAffected ==1) 
       { 
         //Success notification 
       } 
       else 
       { 
         //Error notification 
       } 
      } 
    } 
    catch(Exception ex) 
    { 
      //log error 
      //display friendly error to user 
    } 
    finally 
    { 
      if(conn!=null) 
      { 
       //cleanup connection i.e close 
      } 
    } 
} 
2

簡單,使與設計師(只是開頭)一個簡單的ASP頁面讓說身體是這樣的:

<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
     <br /> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    </div> 
    <p> 
     <asp:Button ID="Button1" runat="server" Text="Button" /> 
    </p> 
    </form> 
</body> 

太好了,現在每個ASP對象的對象。所以你可以在asp的CS代碼中訪問它。 asp的CS代碼是由事件(主要是)觸發的。該類可能會繼承自System.Web.UI.Page

如果轉到asp頁面的cs文件,您將看到受保護的無效Page_Load(對象發件人,EventArgs e)...這是加載事件,您可以使用該事件在頁面加載時將數據填充到對象中。

現在,轉到設計器(Button1)中的按鈕,查看它的屬性,可以設計它,或從那裏添加事件。只需切換到事件視圖,併爲事件創建一個方法。

的按鈕是一個web control Button Click事件添加到按鈕調用它Button1Click:

void Button1Click(Object sender,EventArgs e) { } 

現在,當你點擊按鈕,這個方法會被調用。由於ASP是面向對象的,因此可以將頁面視爲實際的類,並且對象將保存實際的當前數據。

所以如果比如你要訪問TextBox1文本,你只需要調用該對象在C#代碼:

String firstBox = TextBox1.Text; 

以同樣的方式,當事件發生時,您可以填充的對象。

既然您擁有用戶在文本框中發佈的數據,則可以使用常規C#SQL連接將數據添加到數據庫。

相關問題