Hallo zusammen,
bin relativ in Sachen Programmierung unterwegs.
Ich have versucht ein Gästebuch aufzubauen und die eingegebenen Daten direkt in eine Datenbank zu speichern. Es klappt auch alles, nur habe ich noch folgende Probleme
1. ich möchte, dass die Bilder unter dem aktuellen Datum (datetotime.now) gespeichert werden und nicht unter dem Bildernamen - so sollen doppelte Namen (z.B. ich.jpg) vermieden werden. Wie schaffe ich das?
2. Der Platz für den freien Text soll auf ca 40 Zeichen je Zeile begrenzt sein (Versuch über colums), man kann aber mehr schreiben, wodurch der Anfangstext nicht mehr zu sehen ist
3. Habe versucht mit dem required filed validator zu arbeiten, das ganze wirkt nicht so richtig intelligent. Oder ist es okay so? Klappen tut es zumindest.
Danke für die Hilfe!
Sub speichern(ByVal sender As Object, ByVal e As EventArgs)
Dim cmd As OleDbCommand
Dim sqlInsert As String
Dim dateiname As String
dateiname = ""
' Upload der Datei
If FileUpload1.HasFile Then
' es wurde eine Datei ausgewählt und ich versuche die Datei
' hochzuladen und zu speichern
dateiname = FileUpload1.FileName
Try
FileUpload1.SaveAs("c:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\Upload\" & dateiname)
Catch ex As Exception
ausgabe.InnerHtml = "ERROR: " & ex.Message.ToString()
End Try
Else
' keine Datei zum Hochladen ausgewählt
' also tue nichts
End If
' SQLInsert
sqlInsert = "insert into gaestebuch (name, email, webseite,"
sqlInsert = sqlInsert & " nachricht, datum, file) values ('"
sqlInsert = sqlInsert & name.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & email.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & webseite.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & nachricht.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & DateTime.Now.ToString
sqlInsert = sqlInsert & "','" & dateiname & "')"
Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\gaestebuch.m db;"
Dim conn As New OleDbConnection(db)
conn.Open()
cmd = New OleDbCommand(sqlInsert, conn)
cmd.ExecuteNonQuery()
ausgabe.InnerHtml = "<b>Eingabe gespeichert</b>"
conn.Close()
End Sub
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="Inhalt" Runat="Server">
<form id="form1" runat="server">
<h1>Bitte tragen Sie sich ins Gästebuch ein!</h1>
<div style="background-color:Gray">
<table width="75%">
<tr><td width="15%">Name<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="name" runat="server" TextMode="SingleLine" BorderStyle="Double" Columns="40"></asp:TextBox></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="name" ErrorMessage="Bitte einen Namen eingeben"></asp:RequiredFieldValidator></td></tr>
<tr><td width="15%">E-Mail<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="email" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox><asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="email" ValidationExpression=".+@.+\.[a-z]{2,}" ErrorMessage="Keine korrekte E-Mail-Adresse." /></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="email" ErrorMessage="Bitte eine E-Mail eingeben"></asp:RequiredFieldValidator><br /></td></tr>
<tr><td width="15%">Webseite </td><td width="85%"><asp:TextBox ID="webseite" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox></td></tr><br />
<tr><td width="15%"> </td><td width="85%"> </td></tr>
<tr><td width="15%">Text<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="nachricht" runat="server" TextMode="MultiLine" Rows="5" BorderStyle="Double" Columns="38" ></asp:TextBox></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="nachricht" ErrorMessage="Bitte eine Nachricht eingeben"></asp:RequiredFieldValidator></td></tr>
<tr><td width="15%">Bild hochladen:</td><td width="85%"><asp:FileUpload ID="FileUpload1" runat="server" /></td><tr>
<tr><td width="15%"> </td><td width="85%"> </td></tr>
<tr><td width="15%"> </td>
<td width="85%"><asp:Button ID="Button1" runat="server" Text="Eintragen" OnClick="speichern" />
<input id="Reset1" type="reset" value="Angaben löschen" /></td></tr>
</table>
<br />
<Fussnote>* Pflichtfeld</Fussnote>
</div>
</form>
<br />
<a href="gb_anzeigen.aspx">Zurück zum Gäestebuch</a>
<span id="ausgabe" runat="server"></span>
</asp:Content>
bin relativ in Sachen Programmierung unterwegs.
Ich have versucht ein Gästebuch aufzubauen und die eingegebenen Daten direkt in eine Datenbank zu speichern. Es klappt auch alles, nur habe ich noch folgende Probleme
1. ich möchte, dass die Bilder unter dem aktuellen Datum (datetotime.now) gespeichert werden und nicht unter dem Bildernamen - so sollen doppelte Namen (z.B. ich.jpg) vermieden werden. Wie schaffe ich das?
2. Der Platz für den freien Text soll auf ca 40 Zeichen je Zeile begrenzt sein (Versuch über colums), man kann aber mehr schreiben, wodurch der Anfangstext nicht mehr zu sehen ist
3. Habe versucht mit dem required filed validator zu arbeiten, das ganze wirkt nicht so richtig intelligent. Oder ist es okay so? Klappen tut es zumindest.
Danke für die Hilfe!
Sub speichern(ByVal sender As Object, ByVal e As EventArgs)
Dim cmd As OleDbCommand
Dim sqlInsert As String
Dim dateiname As String
dateiname = ""
' Upload der Datei
If FileUpload1.HasFile Then
' es wurde eine Datei ausgewählt und ich versuche die Datei
' hochzuladen und zu speichern
dateiname = FileUpload1.FileName
Try
FileUpload1.SaveAs("c:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\Upload\" & dateiname)
Catch ex As Exception
ausgabe.InnerHtml = "ERROR: " & ex.Message.ToString()
End Try
Else
' keine Datei zum Hochladen ausgewählt
' also tue nichts
End If
' SQLInsert
sqlInsert = "insert into gaestebuch (name, email, webseite,"
sqlInsert = sqlInsert & " nachricht, datum, file) values ('"
sqlInsert = sqlInsert & name.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & email.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & webseite.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & nachricht.Text
sqlInsert = sqlInsert & "', '"
sqlInsert = sqlInsert & DateTime.Now.ToString
sqlInsert = sqlInsert & "','" & dateiname & "')"
Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\gaestebuch.m db;"
Dim conn As New OleDbConnection(db)
conn.Open()
cmd = New OleDbCommand(sqlInsert, conn)
cmd.ExecuteNonQuery()
ausgabe.InnerHtml = "<b>Eingabe gespeichert</b>"
conn.Close()
End Sub
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="Inhalt" Runat="Server">
<form id="form1" runat="server">
<h1>Bitte tragen Sie sich ins Gästebuch ein!</h1>
<div style="background-color:Gray">
<table width="75%">
<tr><td width="15%">Name<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="name" runat="server" TextMode="SingleLine" BorderStyle="Double" Columns="40"></asp:TextBox></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="name" ErrorMessage="Bitte einen Namen eingeben"></asp:RequiredFieldValidator></td></tr>
<tr><td width="15%">E-Mail<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="email" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox><asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="email" ValidationExpression=".+@.+\.[a-z]{2,}" ErrorMessage="Keine korrekte E-Mail-Adresse." /></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="email" ErrorMessage="Bitte eine E-Mail eingeben"></asp:RequiredFieldValidator><br /></td></tr>
<tr><td width="15%">Webseite </td><td width="85%"><asp:TextBox ID="webseite" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox></td></tr><br />
<tr><td width="15%"> </td><td width="85%"> </td></tr>
<tr><td width="15%">Text<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="nachricht" runat="server" TextMode="MultiLine" Rows="5" BorderStyle="Double" Columns="38" ></asp:TextBox></td></tr>
<tr><td width="15%"> </td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="nachricht" ErrorMessage="Bitte eine Nachricht eingeben"></asp:RequiredFieldValidator></td></tr>
<tr><td width="15%">Bild hochladen:</td><td width="85%"><asp:FileUpload ID="FileUpload1" runat="server" /></td><tr>
<tr><td width="15%"> </td><td width="85%"> </td></tr>
<tr><td width="15%"> </td>
<td width="85%"><asp:Button ID="Button1" runat="server" Text="Eintragen" OnClick="speichern" />
<input id="Reset1" type="reset" value="Angaben löschen" /></td></tr>
</table>
<br />
<Fussnote>* Pflichtfeld</Fussnote>
</div>
</form>
<br />
<a href="gb_anzeigen.aspx">Zurück zum Gäestebuch</a>
<span id="ausgabe" runat="server"></span>
</asp:Content>

Kommentar