Ausdruck eines Wertes bei Anlegen eines neuen Datensatzes

realmontanakid

Grünschnabel
Guten Morgen allerseits

1.Ich bin dabei eine Datenbank zu erstellen in der ich neu angekommene Hardware auflisten möchte. Ich möchte jetzt wohl das wenn ich einen neuen Datensatz anlege automatisch die ID des gerade erzeugten Datensatzes auf einem Etiketten Drucker gedruckt wird.
So kann ich das Label auf die Hardware kleben und wenn mir die Festplatte z.B. nach einem Jahr wieder in die Hände fällt kann ich anhand der ID in der Datenbank filtern und überprüfen ob noch Garantieanspruch besteht. Ist das möglich? Mir geht es darum wie ich nun den Drucker ansprechen kann.

2. Hier habe ich noch ein etwas kleineres Problem. Wenn ich beim oben genannten Szenario einen Datensatz anlege bleiben nach dem Anlegen die Daten in den Textboxen stehen. Wie können diese Daten automatisch herausgelöscht werden? Seite neu aufrufen lassen?

Gruß!
 
Hallo.

Zu 2. unter der Annahme, deine Textbox heißt "txtEingabe":
Gib mal folgendes an einer Stelle nach dem Anlegen der Daten ein.
Code:
    txtEingabe.Text = "";

Gruß, Niko
 
Hi

Das verstehe ich noch nicht so ganz.. ich stell mal den Code mit ein..

<html>
<script runat="server">

Sub Page_Load (ByVal Sender As Object, _
ByVal E As EventArgs)
' Verbindungszeichenfolge zusammensetzen
Dim connStr As String
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
connStr += _
"Data Source=c:\inetpub\wwwroot\Hardware\Artikel_db.mdb;"

' Verbindung zur Datenbank herstellen
Dim conn As New OleDbConnection(connStr)
conn.Open()

' Bei einem Postback einen Datensatz anfügen
If IsPostBack Then
Dim iCmd As New OleDbCommand()
iCmd.Connection = conn

iCmd.Parameters.Add("@Hersteller", txtHersteller.value)
iCmd.Parameters.Add("@Artikel", txtArtikel.value)
iCmd.Parameters.Add("@Beschreibung", txtBeschreibung.value)
iCmd.Parameters.Add("@Preis", txtPreis.value)
iCmd.Parameters.Add("@Lieferant", txtLieferant.value)
iCmd.Parameters.Add("@Datum", txtDatum.value)
iCmd.Parameters.Add("@Bestellungsdatum", txtBestellungsdatum.value)
iCmd.Parameters.Add("@Lieferungsdatum", txtLieferungsdatum.value)
iCmd.Parameters.Add("@Mitarbeiter", txtMitarbeiter.value)
iCmd.Parameters.Add("@Garantie", txtGarantie.value)
iCmd.Parameters.Add("@Seriennr", txtSeriennr.value)


iCmd.CommandText = "INSERT INTO tbl_Artikel "
iCmd.CommandText += "(Hersteller, Artikel, Beschreibung, Preis, Lieferant, Datum, Bestellungsdatum, Lieferungsdatum, Mitarbeiter, Garantie, Seriennr) "
iCmd.CommandText += "VALUES (@Hersteller, @Artikel, @Beschreibung, @Preis, @Lieferant, @Datum, @Bestellungsdatum, @Lieferungsdatum, @Mitarbeiter, @Garantie, @Seriennr) "
iCmd.ExecuteNonQuery()
End If

' SQL-Kommando erstellen und ausführen
Dim sql As String
sql = "SELECT * FROM tbl_Artikel"
Dim cmd As New OleDbCommand(sql, conn)
Dim myDataReader As OleDbDataReader
myDataReader = cmd.ExecuteReader()

' SQL-Resultat an ein Steuerelement binden
myGrid.DataSource = myDataReader
DataBind()

myDataReader.Close()
conn.Close()

End Sub

folgenden tag habe ich dann benutzt..
<input type="text" runat="server" id="txtDatum" NAME="txtDatum" style="WIDTH: 155px; HEIGHT: 22px">
 
Hallo.

Probier mal das folgende:
Code:
    ...
    myDataReader.Close()
    conn.Close()
    txtDatum.Value = null '<<<<<neue eingefügte Zeile

    end sub
Wobei ich dachte, dass du eine einfache, normale Textbox benutzt. Bei einem Input-Objekt gibt es die "Text"-Eigenschaft nicht, dafür aber "Value".

Gruß, Niko

P.S.: Benutz in Zukunft doch besser die Code-Tags, das macht den Code sehr viel lesbarer. ;)
 
Zurück