Laden...

Probleme mit einer Funktion...

Erstellt von King-Malkav vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.591 Views
King-Malkav Themenstarter:in
264 Beiträge seit 2006
vor 17 Jahren
Probleme mit einer Funktion...

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

N
4.644 Beiträge seit 2004
vor 17 Jahren

Du solltest schon sagen an was es klemmt. Bekommst Du keinen Wert zurück oder eine Exception...?

W
799 Beiträge seit 2004
vor 17 Jahren

Sicher gibt's ne Exception, ich sehe nirgendwo ein return.

1.665 Beiträge seit 2006
vor 17 Jahren

Ne Exception eher weniger, eher ein Fehler der das Ding erst gar nicht baubar macht, weil kein int zurückgegeben wird.

W
799 Beiträge seit 2004
vor 17 Jahren

Kein Returnvalue > Exception.

1.665 Beiträge seit 2006
vor 17 Jahren

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?!

S
8.746 Beiträge seit 2005
vor 17 Jahren

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.....

1.665 Beiträge seit 2006
vor 17 Jahren

meinst du mich damit?
also das wird doch reichen wenn man das in worten schreibt..

King-Malkav Themenstarter:in
264 Beiträge seit 2006
vor 17 Jahren

Danke Leute...ich bin blöd, der return hat gefehlt.

mfg

W
799 Beiträge seit 2004
vor 17 Jahren

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.

King-Malkav Themenstarter:in
264 Beiträge seit 2006
vor 17 Jahren

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

King-Malkav Themenstarter:in
264 Beiträge seit 2006
vor 17 Jahren

Kann niemand helfen?

MFG