2013-10-12 1 views
1

Je reçois une URL du contrôleur PIC 32 à l'aide de sa fonction de publication.Entrée SQL Server utilisant une chaîne querys d'URL

qui est comme, www.example.com/Default.aspx?x=12 & y = 23

Ce que je veux faire est que lorsque je reçois l'URL, je veux stocker les valeurs de x et y dans SQL Server.

J'ai lancé un .aspx en utilisant le serveur IIS sur mon système. Le codage de la page ASPX est ..

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head id="Head1" runat="server"> 
    <title>Sample Configuration Page</title> 
    <style type="text/css"> 
     .style1 
     { 
      width: 100%; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <table class="style1"> 
      <tr> 
       <td>IP Address:</td> 
       <td> 
        <asp:TextBox ID="TxtName" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
      <tr> 
       <td>MAC Address:</td> 
       <td> 
        <asp:TextBox ID="TxtUserName" runat="server"></asp:TextBox> 
       </td> 
      </tr> 

     </table> 
    </div> 
    <asp:Button ID="Button1" runat="server" Text="Save" 
          onclick="Button1_Click" /> 
    </form> 
</body> 
</html> 

S'il vous plaît me guider avec cela.

Les données seront stockées dans la base de données avec la suite du code C#,

 SqlConnection conn = new SqlConnection(GetConnectionString()); 
      string sql = "INSERT INTO tblRegistration1 (IP, MAC) VALUES " 
         + " (@IP_Address,@MAC_Address)"; 

      try 
      { 
       conn.Open(); 
       SqlCommand cmd = new SqlCommand(sql, conn); 
       SqlParameter[] param = new SqlParameter[6]; 
       //param[0] = new SqlParameter("@id", SqlDbType.Int, 20); 
       param[0] = new SqlParameter("@IP_Address", SqlDbType.VarChar, 50); 
       param[1] = new SqlParameter("@MAC_Address", SqlDbType.VarChar, 50); 

       param[0].Value = IP_Address; 
       param[1].Value = MAC_Address; 

       for (int i = 0; i < param.Length; i++) 
       { 
        cmd.Parameters.Add(param[i]); 
       } 

       cmd.CommandType = CommandType.Text; 
       cmd.ExecuteNonQuery(); 
      } 
      catch (System.Data.SqlClient.SqlException ex) 
      { 
       string msg = "Insert Error:"; 
       msg += ex.Message; 
       throw new Exception(msg); 
      } 
      finally 
      { 
       conn.Close(); 
      } 
public string GetConnectionString() 
    { 
     //sets the connection string from your web config file "ConnString" is the name of your Connection String 
     return System.Configuration.ConfigurationManager.ConnectionStrings["MyConsString"].ConnectionString; 
    } 

Tout va bien tout en utilisant le navigateur de l'ordinateur. Mais le message provenant du PIC32 n'est pas en cours d'exécution. Je ne sais pas comment procéder avec l'URL revenant à mon serveur IIS qui contient des détails IP et MAC. Dans mon application, j'ai ces données de PIC32 plat aussi bien des ordinateurs.

J'espère que je me suis fait comprendre.

Répondre

1

Pour obtenir une forme variable, on utilise l'URL

Request.QueryString["variable"]; 

, vous pouvez utiliser SqlDataSource pour établir une connexion SQL ou SqlConnection

SqlDataSource

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString='<%$ ConnectionStrings:Conn %>'InsertCommand="INSERT INTO [TableName] ([x], [y]) VALUES (@x, @y)" > 
      <InsertParameters> 
       <asp:QueryStringParameter Name="x" Type="Int16"></asp:Parameter> 
       <asp:QueryStringParameter Name="y" Type="Int16"></asp:Parameter> 
      </InsertParameters> 
</asp:SqlDataSource> 

SqlConnection

public void insertData() 
     { 
      using (SqlConnection con = new SqlConnection(conString)) 
      { 
       con.Open(); 
       try 
       { 
        using (SqlCommand cmd = new SqlCommand("INSERT INTO TableName(x, y) VALUES(@x, @y)", con)) 
        { 
         cmd.Parameters.Add(new SqlParameter("x", Request.QueryString["x"])); 
         cmd.Parameters.Add(new SqlParameter("y", Request.QueryString["y"])); 
         cmd.ExecuteNonQuery(); 
        } 
       } 
       catch (Exception Ex) 
       { 
        Console.WriteLine("Unable To Save Data. Error - " + Ex.Message); 
       } 
      } 
     }