Laden...

Forenbeiträge von morcheba Ingesamt 353 Beiträge

19.09.2005 - 07:44 Uhr

hab deinen Eintrag erst jetzt gesehen.

Welchen Eintrag muss ich im ISS machen? Und wie meinst du das mit Links auf Dateien?

14.09.2005 - 16:34 Uhr

wie kann ich machen, dass beim pageload gerade diese klasse aufgerufen wird?

sonst kommt er ja dort gar nicht durch...

14.09.2005 - 16:28 Uhr

tatsächlich, es funktioniert!

Und jetzt? Wie muss ich weiter vorgehen?

14.09.2005 - 13:42 Uhr

hab irgendwie echt alles versucht.

14.09.2005 - 13:31 Uhr

Datei- oder Assemblyname 'Webapplication.dll' oder eine Abhänigkeit davon wurde nicht gefunden.

Jetzt bekomm ich dann echt die Kriese

14.09.2005 - 13:26 Uhr

die dll, die auf dem Server erstellt wurde?

die heisst Webapplication.dll

14.09.2005 - 13:22 Uhr

Datei- oder Assemblyname 'SearchPrm.dll' oder eine Abhänigkeit davon wurde nicht gefunden.

14.09.2005 - 13:13 Uhr

Datei- oder Assemblyname 'SearchPrm' oder eine Abhänigkeit davon wurde nicht gefunden.

🤔

14.09.2005 - 13:02 Uhr

so sieht meine Seite aus:


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.IO;
using System.Drawing.Imaging;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;

using Database.Utilities;


namespace SearchPrm
{
	/// <summary>
	/// Zusammenfassung für SaveFile.
	/// </summary>
	public class SaveFile : System.Web.UI.Page
	{
		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.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}

	public class previewHandler : IHttpHandler
	{
		public bool IsReusable
		{
			get
			{
				return true;
			}
		}
        
		public void ProcessRequest(HttpContext ctx)
		{
			HttpRequest Request = ctx.Request;
			HttpResponse Response = ctx.Response;
			
			string sqlStmt = null;
			string FileId = Request.QueryString["FileId"];
			OracleConnection dbConn = null;
			Database.Utilities.OracleDatabaseHelper dbHelper =
				new Database.Utilities.OracleDatabaseHelper();

			try
			{
				// SQL definieren
				dbConn = dbHelper.openDatabaseConnection();
	
				// SQL definieren
				sqlStmt = "select file from prompt where id = " + FileId;

				// neues OracleCommand erstellen
				OracleCommand cmd = new OracleCommand();
			
				// Command setzen, um SQL Statement zu erstellen
				cmd.CommandText = sqlStmt;

				// OracleCommand zu Datenbankverbindung setzen
				cmd.Connection = dbConn;
								
				// Setzt den SQL Befehl zu Typ Text
				cmd.CommandType = CommandType.Text;

				// Ausführen des SQL Statements
				OracleDataReader oraReader = cmd.ExecuteReader();
				
				if ( oraReader.Read())
				{
					Response.BinaryWrite( (byte[]) oraReader["file"] );
				}
				
			
			}
			
			finally
			{
				// Datenbankverbindung schliessen
				dbHelper.closeDatabaseConnection(dbConn);
			}
		}
	}
} 


was muss ich nun in der config eingeben?

14.09.2005 - 11:43 Uhr

Datei- oder Assemblyname 'IHttpHandler' oder eine Abhänigkeit davon wurde nicht gefunden.

wieder ein Fehler

14.09.2005 - 11:32 Uhr

jetzt kommt eine weitere Fehlermeldung:

Das erforderliche Attribut 'verb' wurde nicht gefunden.

14.09.2005 - 11:23 Uhr

<system.web>
		
		<httphandlers>
			<add path="*.wav" type="SearchPrm.IHttpHandler" />
		</httphandlers> 
	
		<!--  DYNAMISCHE DEBUGKOMPILIERUNG
          Setzen Sie compilation debug="true", um ASPX-Debuggen zu aktivieren.  False
          verbessert die Laufzeitleistung der Anwendung. 
          Setzen Sie compilation debug="true", um Debugsymbole (PDB-Informationen)
          in die kompilierte Seite einzufügen. Da hierdurch eine größere Datei erstellt wird,
          die langsamer ausgeführt wird, sollten Sie diesen Wert nur zum Debuggen auf True setzen und
          ansonsten auf False. Weitere Informationen finden Sie in der Dokumentation über
          das Debuggen von ASP.NET-Dateien.
    -->

dort habe ich den httphandler reingemacht. aber nein, ich bekomme einen Fehler..die web.config habe einen Syntaxfehler..

14.09.2005 - 11:06 Uhr

ich versuchs mal..

aber wo muss ich den httphandler in dr config schreiben?

14.09.2005 - 10:47 Uhr

Ich habe es ja hinbekommen, dass ich nach Klick auf einen Button die Sounddatei wiedergebe. Dafür muss ich auch das Blob aus der Datenbank lesen.

Der Code sieht so aus:


private void Page_Load(object sender, System.EventArgs e)
		{
			string sqlStmt = null;
			string FileId = Request.QueryString["FileId"];
			OracleConnection dbConn = null;
			Database.Utilities.OracleDatabaseHelper dbHelper =
				new Database.Utilities.OracleDatabaseHelper();

			try
			{
				// SQL definieren
				dbConn = dbHelper.openDatabaseConnection();
	
				// SQL definieren
				sqlStmt = "select file from prompt where id = " + FileId;

				// neues OracleCommand erstellen
				OracleCommand cmd = new OracleCommand();
			
				// Command setzen, um SQL Statement zu erstellen
				cmd.CommandText = sqlStmt;

				// OracleCommand zu Datenbankverbindung setzen
				cmd.Connection = dbConn;
								
				// Setzt den SQL Befehl zu Typ Text
				cmd.CommandType = CommandType.Text;

				// Ausführen des SQL Statements
				OracleDataReader oraReader = cmd.ExecuteReader();

				if ( oraReader.Read())
				{
					Response.BinaryWrite( (byte[]) oraReader["file"] );
				}
			
			}
			catch(OracleException ex)
			{
				NotificationLabel.Text = ex.Message;
				NotificationLabel.Visible = true;
			}
			finally
			{
				// Datenbankverbindung schliessen
				dbHelper.closeDatabaseConnection(dbConn);
			}
		}

Müsste ich nicht einfach Response.BinaryWrite( (byte[]) oraReader["file"] );
ändern, um die Datei zu speichern?

14.09.2005 - 10:29 Uhr

ok, das habe ich nun rausgefunden:


Response.BinaryWrite( (byte[]) oraReader["file"] );

und nun?

was muss ich in die web.config schreiben?

<httphandlers>
...
<add verb="" path=".aspx" type="System.Web.UI.PageHandlerFactory,System.Web" />
...
</httphandlers>

14.09.2005 - 10:25 Uhr

das Auslesen des Blobfeldes in ein Array

14.09.2005 - 10:17 Uhr

Ne, leider blicke ich im Moment überhaupt nicht durch.


Byte[] FileContent = new byte[FileLength]; int intStatus; intStatus = FileStream.Read(FileContent, 0, FileLength);

und dann? ?(

14.09.2005 - 09:57 Uhr

Danke für deinen Code. Aber wie bekomme ich das File aus der Datenbank? Die Datei ist in einem BLOB Feld abgelegt.

14.09.2005 - 07:42 Uhr

In der web.config muss ich dann ja sowas ähnliches eingeben:


<httphandlers>
  ...
  <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory,System.Web" />
  ...
</httphandlers>

und bei meiner Seite dann:



public class SimpleHandler : IHttpHandler {
  public void ProcessRequest(HttpContext context) {
    context.Response.Write("Hello World!");
  }

  public bool IsReusable {
    get {
      return true;
    }
  } 

}

Habe ich beim googeln gefunden. Aber wie muss ich das jetzt für mein Problem machen?

13.09.2005 - 13:50 Uhr

Hallo

Ich möchte ein Soundfile, welches in einer ORACLE Datenbank gespeichert ist, zum downloaden bereitstellen.
In einem Datagrid gebe ich die Files aus. Dort kann ich sie auch anhören. Und nun soll auch die Download Möglichkeit bestehen.

Wie muss ich da vorgehen? Ich habe die ID des Soundfiles auch im Datagrid. Kann ich das mit SaveFile machen oder wie?

06.09.2005 - 11:32 Uhr

wiedergeben funktioniert auch prima.

Nun möchte ich, dass man das File noch downloaden kann

06.09.2005 - 10:53 Uhr

Ist es möglich, in einem DataGrid ein DownloadLink anzuzeigen? Ich lese aus einer Datenbank eine Musikdatei aus. Die Datei ist in einem Blob Feld gespeichert. Beim Klick auf anhören kann ich die Datei im MediaPlayer anhören. Nun möchte ich, dass man die Datei auch direkt speichern kann. Also es soll das Fenstern "Speichern unter" erscheinen. Weiss jemand, wie man das realisieren könnte?

06.09.2005 - 09:04 Uhr

ich habs ja rausgefunden. du hast mich wohl falsch verstanden. Die Lösung die hier gepostet wurde, ist nicht für mein Problem. Sonst kann ich tabellen joinen aber nicht so wie mein Fall ist. Naja, Problem gelöst!

06.09.2005 - 08:46 Uhr

und wie sieht das für mein Fall aus?

06.09.2005 - 08:29 Uhr

Ich habe es mit Join versucht. Aber leider komme ich nicht drauf, wie ich den Code zusammenbasteln muss.

Employees: Employee_ID, Name

Orders: Prod_ID, Product

Emp_Ord: Employee_ID, Prod_ID

Nun möcht ich von der Employees den Namen und von Orders das Product. Dafür muss ich ja auch noch auf die Emp_Ord zugreifen, aber wie?

06.09.2005 - 08:19 Uhr

kannst du das ein bisschen genauer erklären?

06.09.2005 - 08:14 Uhr

Ich möchte ein DataGrid erstellen und möchte dort vier Spalten füllen. Drei kommen aus Tabelle A und 1 aus Tabelle B. Wie kann ich da vorgehen?

31.08.2005 - 11:04 Uhr

ja:

select seqname.currval from tabelle;

31.08.2005 - 10:40 Uhr

Mit diesem Befehl kann man doch die letzte ID auslesen, oder?

30.08.2005 - 11:36 Uhr

Ich habe ein Datagrid mit Checkboxen.

Nun habe ich folgenden Code um die ID der ausgewählten Datensätze ausgeben zu können:


foreach (DataGridItem i in DataGrid.Items) 
			{
				string DataGridID = "";
				CheckBox insertChkBxItem = (CheckBox) i.FindControl ("checkboxID");
				if (insertChkBxItem.Checked) 
				{
					DataGridID += ((Label) i.FindControl ("id")).Text.ToString() + ",";
					string deleteOra = DataGridID.Substring(0,DataGridID.LastIndexOf(","));
				}
			}

auch wenn die Checkbox checked=true ist, geht die Funktion nicht in if (insertChkBxItem.Checked) hinein... Was ist falsch daran?

Das DataGrid sieht so aus:


<Columns>
										<asp:TemplateColumn>
											<ItemTemplate>
												<asp:CheckBox ID="checkboxID" runat="server" />
											</ItemTemplate>
										</asp:TemplateColumn>
										<asp:TemplateColumn>
											<ItemTemplate>
												<asp:Label visible="False" ID="id" Text='<%# DataBinder.Eval (Container.DataItem, "id") %>' runat="server"/>
											</ItemTemplate>
										</asp:TemplateColumn>

30.08.2005 - 08:31 Uhr

private void btnSave_Click(object sender, System.EventArgs e)
        {
            OracleConnection dbConn = null;
            string Filename        = FilenameTextBox.Text;
            string CD           = CDTextBox.Text;
            string Language        = ddlLang.SelectedValue.ToString();
            string Text            = TextTextBox.Text;
            string Date            = DateTextBox.Text;
            string Archiv           = ddlArchiv.SelectedValue.ToString();
            string sqlStmt         = null;

            Database.Utilities.OracleDatabaseHelper dbHelper =
                new Database.Utilities.OracleDatabaseHelper();

            try
            {
                // Establish the database connection
                dbConn = dbHelper.openDatabaseConnection();

                // define the sql to perform the database insert
                sqlStmt = "UPDATE tabelle SET filename = '" +Filename+ "', cd = '" +CD+ "', language = '" +Language+ "', text = '" +Text+ "', date = '" +Date+ "', archiv = '" +Archiv+ "' WHERE id = '"+FileID+"' ";

                // Establish a new OracleCommand
                OracleCommand cmd = new OracleCommand();

OracleParameter paramDate = new OracleParameter("prompt_date",
					OracleDbType.Date);
				paramDate.Value = Date;
				paramDate.Direction = ParameterDirection.Input;
				cmd.Parameters.Add(paramDate);

                // Set command to create your SQL statement
                cmd.CommandText = sqlStmt;

                // Set the OracleCommand to your database connection
                cmd.Connection = dbConn;
                            
                // Set the command type to text
                cmd.CommandType = CommandType.Text;

                // Execute the SQL Statement
                cmd.ExecuteNonQuery();
            }
                
            finally
            {
                // Close the database connection
                dbHelper.closeDatabaseConnection(dbConn);
            } 

        } 

Jetzt habe ich das Datum als Parameter hinzufügen wollen. Aber nein, es funktioniert immer noch nicht. Langsam aber sicher habe ich keine Nerven mehr... Weiss niemand die Lösung??

30.08.2005 - 07:54 Uhr

habe das problem entdeckt.. im Textfeld Datum wird das Datum so angezeigt: 00.00.0000 00:00:00 und deshalb die Fehlermeldung. Lösche ich 00:00:00 dann funktioniert das ganze.. Aber wie kann ich diesen Fehler beheben?

29.08.2005 - 11:33 Uhr

also ich habe das laden in die Textfelder ins postback getan. so wie du beschrieben hast. Nun bekomme ich aber immer noch die Fehlermeldung mit dem Datum. Wie kann ich diesen Fehler beheben?

29.08.2005 - 11:30 Uhr

Hier mein Code:


private void btnSave_Click(object sender, System.EventArgs e)
        {
            OracleConnection dbConn = null;
            string Filename        = FilenameTextBox.Text;
            string CD           = CDTextBox.Text;
            string Language        = ddlLang.SelectedValue.ToString();
            string Text            = TextTextBox.Text;
            string Date            = DateTextBox.Text;
            string Archiv           = ddlArchiv.SelectedValue.ToString();
            string sqlStmt         = null;

            Database.Utilities.OracleDatabaseHelper dbHelper =
                new Database.Utilities.OracleDatabaseHelper();

            try
            {
                // Establish the database connection
                dbConn = dbHelper.openDatabaseConnection();

                // define the sql to perform the database insert
                sqlStmt = "UPDATE tabelle SET filename = '" +Filename+ "', cd = '" +CD+ "', language = '" +Language+ "', text = '" +Text+ "', date = '" +Date+ "', archiv = '" +Archiv+ "' WHERE id = '"+FileID+"' ";

                // Establish a new OracleCommand
                OracleCommand cmd = new OracleCommand();

                // Set command to create your SQL statement
                cmd.CommandText = sqlStmt;

                // Set the OracleCommand to your database connection
                cmd.Connection = dbConn;
                            
                // Set the command type to text
                cmd.CommandType = CommandType.Text;

                // Execute the SQL Statement
                cmd.ExecuteNonQuery();
            }
                
            finally
            {
                // Close the database connection
                dbHelper.closeDatabaseConnection(dbConn);
            } 

        } 

29.08.2005 - 11:19 Uhr

und wie lässt sich dann mein problem lösen?

29.08.2005 - 11:17 Uhr

es ist eine webanwendung.

fehlermeldung:

ORA-01830: Datumsformatstruktur endet vor Umwandlung der gesamten Eingabezeichenfolge

29.08.2005 - 11:07 Uhr

und bei oracle?

29.08.2005 - 09:09 Uhr

Ich habe ein Formular. Dort kann ich verschiedene Angaben machen.

Ich mache nun ein Insert in Tabelle 1. Schreibe dort meine Personalien ein. Für den Beruf habe ich Tabelle 2. Nun bekomme ich ja eine ID, die in Tabelle 1 geschrieben wurde. Bei meinem Formular kann ich den Beruf aus einem DropDownMenü auswählen. Nun möchte ich die ID des Berufes (die finde ich heraus) und die ID der Person in die Tabelle 2 schreiben. Wie muss ich da vorgehen? Die ID der Person kenne ich ja nicht... Muss ich da zuerst eine SQL abfrage machen, oder waS?

29.08.2005 - 07:35 Uhr

weiss niemand woran es liegen könnte?

24.08.2005 - 15:31 Uhr

immer noch das alte...

24.08.2005 - 15:06 Uhr

schau, so sieht mein Code aus:


private void btnSave_Click(object sender, System.EventArgs e)
		{
			OracleConnection dbConn = null;
			string Filename        = FilenameTextBox.Text;
			string CD	       = CDTextBox.Text;
			string Language        = ddlLang.SelectedValue.ToString();
			string Text            = TextTextBox.Text;
			string Date            = DateTextBox.Text;
			string Archiv	       = ddlArchiv.SelectedValue.ToString();
			string sqlStmt         = null;

			Database.Utilities.OracleDatabaseHelper dbHelper =
				new Database.Utilities.OracleDatabaseHelper();

			try
			{
				// Establish the database connection
				dbConn = dbHelper.openDatabaseConnection();

				// define the sql to perform the database insert
				sqlStmt = "UPDATE tabelle SET filename = '" +Filename+ "', cd = '" +CD+ "', language = '" +Language+ "', text = '" +Text+ "', date = '" +Date+ "', archiv = '" +Archiv+ "' WHERE id = '"+FileID+"' ";

				// Establish a new OracleCommand
				OracleCommand cmd = new OracleCommand();

				// Set command to create your SQL statement
				cmd.CommandText = sqlStmt;

				// Set the OracleCommand to your database connection
				cmd.Connection = dbConn;
                            
				// Set the command type to text
				cmd.CommandType = CommandType.Text;

				// Execute the SQL Statement
				cmd.ExecuteNonQuery();
			}
				
			finally
			{
				// Close the database connection
				dbHelper.closeDatabaseConnection(dbConn);
			} 

		}

24.08.2005 - 14:59 Uhr

der user ändert die Felder und klickt anschliessend auf speichern und dort habe ich die Zeile die du mir gepostet hast, eingefügt

24.08.2005 - 14:53 Uhr

es wird genau der gleiche Text genommen... Ich habe das ganze im Button_Click drin.

string ToDB = DateTextBox.Text;

war es vorher bspw. 01.01.2005 ist es jetzt immer noch 01.01.2005

24.08.2005 - 14:37 Uhr

Ich lese aus einer Datenbank Daten heraus und gebe diese mit

DateTextBox.Text = oraReader["prompt_date"].ToString();

aus. Es sind noch weiter. Nun möchte ich, dass man diese Daten bearbeiten kann, also z.B. ein anderes Datum eingeben kann. Mit einem update möchte ich dann das neue Datum in die DB speichern. Aber wie kann ich machen, dass die neu eingegebenen Daten genommen werden?

24.08.2005 - 07:09 Uhr

SELECT * FROM tabelle WHERE (cd='3' AND text='test');

jenachdem, welche Felder ich im Formular gefüllt habe.

Habe ein Formular mit Eingabefeldern. Fülle ich dort ein Feld, soll nach den eingegebenen Daten gesucht werden.

23.08.2005 - 16:55 Uhr

Nun verzweifle ich wirklich fast... Was ist hier falsch? Bekomme immer die fehlermeldung: UNgültiges Zeichen... X( Hier mein Code:


		private void btnSearch_Click(object sender, System.EventArgs e)
		{
			PromptDataGrid.DataSource = this.ReadDataFromDB();
			PromptDataGrid.DataBind();
		}


		#region ReadDataFromDB
		private DataSet ReadDataFromDB() 
		{
			OracleConnection dbConn = null;

			string Text		= TextTextBox.Text.ToString();
			string CD		= CDTextBox.Text.ToString();
			string Date		= DateTextBox.Text.ToString();
			string Language = ddlLang.SelectedItem.Value;
			string Archiv	= ddlArchiv.SelectedItem.Value;

			Database.Utilities.OracleDatabaseHelper dbHelper =
				new Database.Utilities.OracleDatabaseHelper();
 
				// Establish the database connection
				dbConn = dbHelper.openDatabaseConnection();

				DataSet MyDataSet = new DataSet();
				OracleDataAdapter oCommand = new OracleDataAdapter();
				OracleCommand cmd = new OracleCommand();
				cmd.CommandType = CommandType.Text;

				string sqlString1 = "SELECT *";
				string sqlString2 = " WHERE (";
				if (Text != "")
				{
					//sqlString1 += "text, ";
					sqlString2 += "text = '" + Text + "' AND ";
				}
				if (CD != "")
				{
					//sqlString1 += "cd, ";
					sqlString2 += "cd = '" + CD + "' AND ";
				}
				if (Date != "")
				{
					//sqlString1 += "date, ";
					sqlString2 += "date = '" + Date + "' AND '";
				}
				if (Language != "")
				{
					//sqlString1 += "language, ";
					sqlString2 += "language = '" + Language + "' AND ";
				}
				if (Archiv != "")
				{
					//sqlString1 += "archiv ";
					sqlString2 += "archiv = '" + Archiv + "' ";
				}
				// ergänzungen
				sqlString1 += " FROM tabelle ";
				sqlString2 += " ); ";
				// zusammenfügen
				string sqlStmt = sqlString1+sqlString2; 

				cmd.CommandText = sqlStmt;
				cmd.Connection = dbConn;
				oCommand.SelectCommand = cmd;
				oCommand.Fill(MyDataSet);
				dbConn.Close();
				return MyDataSet;


23.08.2005 - 13:11 Uhr

Ich habs mal gemacht und nun bekomme ich einen Fehler..

ORA-00933: SQL-Befehl wurde nicht korrekt beendet

Ausserdem wollte ich noch fragen, wie macht man es, wenn ich möchte, dass bei der Suche alles aufgelistet wird, was die Zeichenfolge "er" hat. ich würde ja bei Dateiname er eingeben und müsste ja dann mit LIKE %er arbeiten, oder? und wie geht das in dieser Abfrage, wie du es machst?

23.08.2005 - 11:40 Uhr

und wie müsste ich das bei mir machen? komm nicht ganz draus mit den sqlString1 und so weiter...

Zur Info:

Ich habe 3 TextBoxen und 2 DropDownMenü

Hier jeweils die ID der Textbox und in Klammer [] der Spaltenname:

TextTextBox [Text]
CDTextBox [CD]
DateTextBox [Date]

DropdownMenü:
ddlLanguage [Language]
ddlArchiv [Archiv]

Wie muss ich nun vorgehen?

23.08.2005 - 10:59 Uhr

also eigentlich ist es ganz einfach...

ich habe eine Datenbank mit den Feldern:

Dateiname
CD
Sprache
Text
Datum
Archiv

nun habe ich für jedes Feld in einem WebForm eine Textbox bzw. DropDownMenü erstellt... (Sprache / Archiv DropDownmenü)

Nun möchte ich die Datenbank nach diesen eingegebenen Daten durchsuchen.

Nun muss ich überprüfen, in welcher Textbox etwas eingegeben wurde damit ich nicht nach Dateiname = "" suche, obwohl dort ja nichts eingegeben wurde. Es würde ja die Suchergebnisse verfälschen. Wie kann ich das nun machen, damit ich nicht mehrere SQL Statements machen muss?

23.08.2005 - 10:54 Uhr

wo liegt den der Fehler?