2016-07-18 7 views
0

Ich habe versucht, 2 SQL-Abfragen durch Klicken auf die Schaltfläche einmal zu übergeben, und das ist, was ich versucht habe zu tun, wie unten gezeigt, aber es funktioniert nicht .... bitte helfen ... danke in vorrückenAufruf von 2 Methoden von onclick C#

dies so dass der Code vor

<asp:Button ID="btnWedRecInsert" runat="server" Text="Insert" OnClick="btnWedRecInsert_Click1; btnWedRecInsert_Click2;" />

der Code hinter unten ist

protected void btnWedRecInsert_Click1(object sender, EventArgs e) 
{ 

    string Function = ddlFunction.Text; 
    string FunctionDate = txtFunctionDate.Text; 
    string FunctionTime = ddlFunctionTime.Text; 
    string groomName = txtGroomName.Text; 
    string groomFatherName = txtGroomFatherName.Text; 
    string groomAge = txtGroomAge.Text; 
    string groomPhone = txtGroomPhone.Text; 
    string groomAddress = txtGroomAddress.Text; 
    string brideName = txtBrideName.Text; 
    string brideFatherName = txtBrideFatherName.Text; 
    string brideAge = txtBrideAge.Text; 
    string bridePhone = txtBridePhone.Text; 
    string brideAddress = txtBrideAddress.Text; 
    string registerName = txtRegisterName.Text; 
    string registerPhone = txtRegisterPhone.Text; 
    string registerAddress = txtRegisterAddress.Text; 
    string referenceName = txtReferenceName.Text; 
    string referencePhone = txtReferencePhone.Text; 
    string referenceAddress = txtReferenceAddress.Text; 



    string connString = ConfigurationManager.ConnectionStrings["MandapamDatabase"].ConnectionString; 
    OleDbConnection connection = new OleDbConnection(connString); 
    string insertQuery = "INSERT INTO wedding(RegisteredDate, Function, FunctionDate, FunctionTime, groomName, groomFatherName, groomAge, groomPhone, groomAddress, brideName, brideFatherName, brideAge, bridePhone, brideAddress, registerName, registerPhone, registerAddress, referenceName, referencePhone, referenceAddress) VALUES(@Date, @Function, @FunctionDate, @FunctionTime, @groomName, @groomFatherName, @groomAge, @groomPhone, @groomAddress, @brideName, @brideFatherName, @brideAge, @bridePhone, @brideAddress, @registerName, @registerPhone, @registerAddress, @referenceName, @referencePhone, @referenceAddress) "; 
    OleDbCommand command = new OleDbCommand(); 
    command.Connection = connection; 
    command.CommandText = insertQuery; 
    command.CommandType = CommandType.Text; 
    command.Parameters.AddWithValue("@Date", DateTime.Now.Date); 
    command.Parameters.AddWithValue("@Function", Function); 
    command.Parameters.AddWithValue("@FunctionDate", FunctionDate); 
    command.Parameters.AddWithValue("@FunctionTime", FunctionTime); 
    command.Parameters.AddWithValue("@groomName", groomName); 
    command.Parameters.AddWithValue("@groomFatherName", groomFatherName); 
    command.Parameters.AddWithValue("@groomAge", groomAge); 
    command.Parameters.AddWithValue("@groomPhone", groomPhone); 
    command.Parameters.AddWithValue("@groomAddress", groomAddress); 
    command.Parameters.AddWithValue("@brideName", brideName); 
    command.Parameters.AddWithValue("@brideFatherName", brideFatherName); 
    command.Parameters.AddWithValue("@brideAge", brideAge); 
    command.Parameters.AddWithValue("@bridePhone", bridePhone); 
    command.Parameters.AddWithValue("@brideAddress", brideAddress); 
    command.Parameters.AddWithValue("@registerName", registerName); 
    command.Parameters.AddWithValue("@registerPhone", registerPhone); 
    command.Parameters.AddWithValue("@registerAddress", registerAddress); 
    command.Parameters.AddWithValue("@referenceName", referenceName); 
    command.Parameters.AddWithValue("@referencePhone", referencePhone); 
    command.Parameters.AddWithValue("@referenceAddress", referenceAddress); 


    try 
    { 
     connection.Open(); 
     command.ExecuteNonQuery(); 
     lblMessage.Text = "Record inserted successfully"; 
    } 
    catch (Exception ex) 
    { 
     lblMessage.Text = "Unable to insert record"; 
    } 
    finally 
    { 
     connection.Close(); 
    } 
} 


    protected void btnWedRecInsert_Click2(object sender, EventArgs e) 
    { 
     string Function = ddlReception.Text; 
     string FunctionDate = txtReceptionDate.Text; 
     string FunctionTime = ddlReceptionTime.Text; 
     string groomName = txtGroomName.Text; 
     string groomFatherName = txtGroomFatherName.Text; 
     string groomAge = txtGroomAge.Text; 
     string groomPhone = txtGroomPhone.Text; 
     string groomAddress = txtGroomAddress.Text; 
     string brideName = txtBrideName.Text; 
     string brideFatherName = txtBrideFatherName.Text; 
     string brideAge = txtBrideAge.Text; 
     string bridePhone = txtBridePhone.Text; 
     string brideAddress = txtBrideAddress.Text; 
     string registerName = txtRegisterName.Text; 
     string registerPhone = txtRegisterPhone.Text; 
     string registerAddress = txtRegisterAddress.Text; 
     string referenceName = txtReferenceName.Text; 
     string referencePhone = txtReferencePhone.Text; 
     string referenceAddress = txtReferenceAddress.Text; 



     string connString = ConfigurationManager.ConnectionStrings["MandapamDatabase"].ConnectionString; 
     OleDbConnection connection = new OleDbConnection(connString); 
     string insertQuery = "INSERT INTO wedding(RegisteredDate, Function, ReceptionTime, FunctionDate, FunctionTime, groomName, groomFatherName, groomAge, groomPhone, groomAddress, brideName, brideFatherName, brideAge, bridePhone, brideAddress, registerName, registerPhone, registerAddress, referenceName, referencePhone, referenceAddress) VALUES(@Date, @Function, @FunctionDate, @FunctionTime, @groomName, @groomFatherName, @groomAge, @groomPhone, @groomAddress, @brideName, @brideFatherName, @brideAge, @bridePhone, @brideAddress, @registerName, @registerPhone, @registerAddress, @referenceName, @referencePhone, @referenceAddress) "; 
     OleDbCommand command = new OleDbCommand(); 
     command.Connection = connection; 
     command.CommandText = insertQuery; 
     command.CommandType = CommandType.Text; 
     command.Parameters.AddWithValue("@Date", DateTime.Now.Date); 
     command.Parameters.AddWithValue("@Function", Function); 
     command.Parameters.AddWithValue("@FunctionDate", FunctionDate); 
     command.Parameters.AddWithValue("@FunctionTime", FunctionTime); 
     command.Parameters.AddWithValue("@groomName", groomName); 
     command.Parameters.AddWithValue("@groomFatherName", groomFatherName); 
     command.Parameters.AddWithValue("@groomAge", groomAge); 
     command.Parameters.AddWithValue("@groomPhone", groomPhone); 
     command.Parameters.AddWithValue("@groomAddress", groomAddress); 
     command.Parameters.AddWithValue("@brideName", brideName); 
     command.Parameters.AddWithValue("@brideFatherName", brideFatherName); 
     command.Parameters.AddWithValue("@brideAge", brideAge); 
     command.Parameters.AddWithValue("@bridePhone", bridePhone); 
     command.Parameters.AddWithValue("@brideAddress", brideAddress); 
     command.Parameters.AddWithValue("@registerName", registerName); 
     command.Parameters.AddWithValue("@registerPhone", registerPhone); 
     command.Parameters.AddWithValue("@registerAddress", registerAddress); 
     command.Parameters.AddWithValue("@referenceName", referenceName); 
     command.Parameters.AddWithValue("@referencePhone", referencePhone); 
     command.Parameters.AddWithValue("@referenceAddress", referenceAddress); 


     try 
     { 
      connection.Open(); 
      command.ExecuteNonQuery(); 
      lblMessage.Text = "Record inserted successfully"; 
     } 
     catch (Exception ex) 
     { 
      lblMessage.Text = "Unable to insert record"; 
     } 
     finally 
     { 
      connection.Close(); 
     } 
    } 
+0

aber das zeigt 2 verschiedene Tastenklick Ereignisse .... nicht 1 .. was passiert, wenn es 1 – BugFinder

+0

irgendwelche Fehler ausgelöst, wenn Sie 'verwenden OnClick = "btnWedRecInsert_Click1; btnWedRecInsert_Click2;"'? –

+0

Werden diese Klickereignisse an einer anderen Stelle wiederverwendet, sodass irgendwo eine Schaltfläche vorhanden ist, die nur ein Ereignis auslöst und eine andere, die nur das andere Ereignis auslöst? In jedem Fall würde ich vorschlagen, die Logik dieser Ereignisse in ihre eigenen Methoden zu übertragen. Dann kann jede Ihrer Ereignismethoden nur eine einzige Zeile haben, die die entsprechende Methode aufruft. Wenn Sie dann ein anderes Ereignis benötigen, das beide aufruft, erstellen Sie einfach eine neue Ereignismethode, die beide extrahierten Methoden aufruft. – Chris

Antwort

1

ändern Sie die onClick-Ereignis btn_ {NameOfYourBu tton} Klicken Sie auf und haben dann

public void btn_{NameOfYourButton}Click() { 
    btnWedRecInsert_Click1(); 
    btnWedRecInsert_Click2(); 
} 
+0

danke so viel es funktioniert –

2

Sie sollten Ihr Markup ändern:

<asp:Button ID="btnWedRecInsert" runat="server" Text="Insert" OnClick="btnWedRecInsert_Click" /> 

Und Ihre Code-Behind ändern:

protected void btnWedRecInsert_Click(object sender, EventArgs e) 
{ 
btnWedRecInsert_Click1(); 
btnWedRecInsert_Click2(); 
} 

und zur besseren Lesbarkeit sollten Sie vielleicht den Namen ändern der Einschub funktioniert nach

insertWedding1(); 
insertWedding2(); 

Ab sofort sehe ich keinen Unterschied zwischen den beiden Insert-Funktionen. mayby ​​wirst du später wechseln, aber sie sind ziemlich ähnlich. Wie wäre es, eine Funktion aus ihnen mit Parametern zu machen, so dass Sie nicht so viel Code schreiben müssen:) z.

insertWedding(object paramWedding1); 
insertWedding(object paramWedding2); 
+0

das arbeitete dank so viel und gut der Unterschied ist, ich füge die Werte aus verschiedenen Textfeldern wie Empfang eines Tages und Hochzeit den anderen Tag –