Hi, ich hab ein kleines Statistiktool geschrieben es funktionerit auch ganz gut, nur will ich aber gern ein rückgabewert aus der Funktion UpdateDB.
Und ich weiß nicht was ich falsch mache...
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace WebApplication1
{
/// <summary>
/// Zusammenfassung für WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Data.SqlClient.SqlConnection sqlcon1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.TextBox TextBox3;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
}
#region Vom Web Form-Designer generierter Code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: Dieser Aufruf ist für den ASP.NET Web Form-Designer erforderlich.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.sqlcon1 = new System.Data.SqlClient.SqlConnection();
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
//
// sqlcon1
//
this.sqlcon1.ConnectionString = "workstation id=KATZENCLO;packet size=4096;integrated security=SSPI;data source=KA" +
"TZENCLO;persist security info=False;initial catalog=Tpay";
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
int counter = UpdateDB(0);
}
private void sqlConnection1_InfoMessage(object sender, System.Data.SqlClient.SqlInfoMessageEventArgs e)
{
}
private void Button2_Click(object sender, System.EventArgs e)
{
int counter = UpdateDB(1);
TextBox3.Text = counter.ToString();
}
private int UpdateDB(int ButtonID)
{
DateTime dt = DateTime.Now;
string datum = dt.ToShortDateString();
SqlDataAdapter da = new SqlDataAdapter("SELECT Counter FROM Statistik WHERE ButtonID = @ButtonID AND Datum = @Date", sqlcon1);
da.SelectCommand.Parameters.Add("@ButtonID",SqlDbType.Int,4).Value = ButtonID;
da.SelectCommand.Parameters.Add("@Date",SqlDbType.DateTime,8).Value = datum;
DataSet ds = new DataSet();
try
{
ds.Clear();
sqlcon1.Open();
da.Fill(ds, "Statistik");
if (ds.Tables["Statistik"].Rows.Count == 0)
{
SqlCommand myinsert = new SqlCommand("INSERT INTO Statistik (ButtonID,Datum,Counter) VALUES (" + ButtonID.ToString() + ",'" + datum + "'" + ",1)",sqlcon1);
myinsert.ExecuteNonQuery();
}
else
{
SqlCommand myupdate = new SqlCommand("UPDATE Statistik SET Counter = Counter + 1 WHERE ButtonID = " + ButtonID.ToString() + " AND Datum = '" + datum + "'", sqlcon1);
myupdate.ExecuteNonQuery();
}
}
finally
{
ds.Clear();
da.Fill(ds, "Statistik");
TextBox1.Text = ds.Tables["Statistik"].Rows[0]["Counter"].ToString();
sqlcon1.Close();
}
}
}
}
Danke für die Hilfe. MFG
Du solltest schon sagen an was es klemmt. Bekommst Du keinen Wert zurück oder eine Exception...?
Sicher gibt's ne Exception, ich sehe nirgendwo ein return.
Ne Exception eher weniger, eher ein Fehler der das Ding erst gar nicht baubar macht, weil kein int zurückgegeben wird.
> Codejunky <
Also wenn bei mir eine Methode einen Rückgabewert erwartet und ich ihr keinen geb, kann ich die Anwendung nicht kompilieren und bekomme nen Fehler. Das bezeichnet man doch nicht als Exception?!
> Codejunky <
Original von JunkyXL
Ne Exception eher weniger, eher ein Fehler der das Ding erst gar nicht baubar macht, weil kein int zurückgegeben wird.
Warum behebst du das Problem dann nicht? UpdateDB() will nen int zurückgeben, du machst aber kein Return.....
meinst du mich damit?
also das wird doch reichen wenn man das in worten schreibt..
> Codejunky <
Danke Leute...ich bin blöd, der return hat gefehlt.
mfg
Original von JunkyXL
Also wenn bei mir eine Methode einen Rückgabewert erwartet und ich ihr keinen geb, kann ich die Anwendung nicht kompilieren und bekomme nen Fehler. Das bezeichnet man doch nicht als Exception?!
Webanwendungen werden für gewöhnlich zur Laufzeit kompiliert - was du dann im Browser betrachten darfst, ist ne Exception.
Hi,
mittlerweile hab ich die Applikation fertig, nur bekomm ich Sie auf unserem Webserver nicht zum laufen.
Wie veröffentliche ich das Programm? Wenn ich auf release umschalte und dann kompiliere - wo finde ich die Dateien die auf den WEbserver müssen?
Muss ich das ganze Verzeichniss aus der WWWroot kopieren (Application1)?
Kann ich dem Verzeichnis einen beliebigen Namen geben?
Noch was, in meiner Testumgebung verwende ich die msdb, in der Wirkumgebung einen SQL Server. Meine Testumgebung hat keinen zugang zum Wirksystem. Kann ich die .cs Datei mit dem Texteditor editieren und dann den SQL Connection String umschreiben oder muss das Projekt dann neu kompiliert werden? - Sprich ich muss die SQL Connection in meiner Entwicklungsumgebung anpassen und kann dann halt nicht mehr debuggen.
MFG
Kann niemand helfen?
MFG