2011-01-21 91 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连接将数据添加到数据库。

相关问题