logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ASP.NET C# SELECT z warunkiem WHERE pobieranym z TextBox (dynamiczne zapytanie)

scorpion26 07 Lut 2009 12:16 3089 3
REKLAMA
  • #1 6115212
    scorpion26
    Poziom 11  
    Posty: 64
    Ocena: 7
    Mam takie pytanie co zrobić żeby do polecenia SELECT dodać warunek np. WHERE idgatunku=..... (włąśnie tu chcę dać TextBox) z którego po wpisaniu do tego pola będzie zwracana wartość do warunku.W kodzie jest wpisana wartość sztywna 1 Proszę o pomoc bo nie wiem jak to zapisać. Z góry dzięki




    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
    
    <%
        string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ Server.MapPath("App_Data\\4.mdb");
    OleDbConnection oConn=new OleDbConnection(conString);
    oConn.Open();
    
    
    
    OleDbCommand oCom = new OleDbCommand("SELECT * FROM Stal Where Idgatunku=1 ORDER BY idStali", oConn);
    OleDbDataReader drzbiornik = oCom.ExecuteReader();
    
    Response.Write("<table border=\"1\">");
    Response.Write("<tr><td>id</td><td>Oznaczenie</td><td>Re</td><td>Rm</td><td>Idgatunku</td><td>Idproducenta</td></tr>");
    while (drzbiornik.Read())
    {
        Response.Write("<tr>");
        Response.Write("<td>" + drzbiornik["idstali"] + "</td>");
        Response.Write("<td>" + drzbiornik["oznaczenie"] + "</td>");
        Response.Write("<td>" + drzbiornik["Re"] + "</td>");
        Response.Write("<td>" + drzbiornik["Rm"] + "</td>");
        Response.Write("<td>" + drzbiornik["idgatunku"] + "</td>");
        Response.Write("<td>" + drzbiornik["idproducenta"] + "</td>");
        Response.Write("<td><input type=\"button\" value=\"Edytuj\" onClick=\"pola.id_edit.value=" + drzbiornik["idStali"] + ";pola.submit();\"></td>");
        Response.Write("<td><input type=\"button\" value=\"Usuń\" onClick=\"form1.id_del.value=" + drzbiornik["idStali"] + ";form1.submit();\"></td>");
        Response.Write("</tr>");
    }
    Response.Write("</table>");
    
    oConn.Close();
    
        
    %>
    
    
    </form>
    
    
    </body>
    </html>
  • REKLAMA
  • #2 6116179
    Biegal
    Poziom 14  
    Posty: 61
    Pomógł: 8
    Ocena: 2
    Na Aspie się nie znam, ale tu masz opisane jak zrobić sparametryzowane zapytania w ADO.NET:

    Link
  • REKLAMA
  • #3 6347021
    SNOOPD
    Poziom 11  
    Posty: 6
    Ocena: 1
    Zeby cos Ci sie zczytalo z texboxa musisz najpierw cos tam zapisac, a z tego kodu co tu podales to chcesz zczytac dane z texboxa ktory bedzie mial zawsze null chyba ze przypiszesz mu na stala jakas wartosc na starcie, ale to w takim wypadku nie ma sensunie ma sensu.
    1. Dodaj buttona na strone
    2. Wygeneruj zdarzenie dla tego buttona On_Click
    3. W tym zdarzeniu zczytaj to co jest w textbox1.text i wygeneruj najprostsze zapytanie :
    "Select * from tabela where id=" + textbox1.text

    l
  • #4 6347045
    mykhaylo
    Poziom 14  
    Posty: 102
    Pomógł: 5
    Ocena: 5
    O wiele lepszym rozwiązaniem jest sparametryzowanie kwerendy SQL, aniżeli napisania jej w takiej postaci jak Ty to zrobiłeś.
    
                SqlCommand command = new SqlCommand();
                command.CommandText = "SELECT * FROM Stal WHERE Idgatunku = @ID ORDER BY idStali";
                SqlParameter parameterID = new SqlParameter();
                parameterID.ParameterName = "@ID";
                parameterID.Value = 1;
    
REKLAMA