Hallo,
ich habe begonnen mich in ASP.NET unter Verwendung von C# einzuarbeiten.
Bei einem kleinen �bungsbeispiel (Telefondatenbank), tritt folgendes auf.
Ich verwende einen RequiredFieldValidator f�r die Textfelder.
Im C# code pr�fe ich dann auf "Page.IsValid" um dann abh�ngig davon in die
Datenbank zu schreiben oder eben auch nicht.
Wie ich es auch drehe und wende, die if-Bedingung scheint auf diese
Page.IsValid-Eigenschaft nicht zu reagieren.
Es erscheint immer die Felhermeldung:
Ausnahmedetails: System.Data.OleDb.OleDbException: Feld
'Telefon.Telefonnummer' darf keine Zeichenfolge der L�nge Null sein.
Weiss jemand bescheid?
Ich habe den kompletten code zum ausprobieren angeh�ngt, es wird noch eine
access DB ben�tigt mit dem Namen: "Telefon.mdb",
der Tabellenname ist "Telefon", die Spalten "Vorname", "Nachname",
"Telefonnummer" sind Text-Felder, die Spalte "Id" ist auf AutoWert.
Vielen Dank, Gruss,
Christian
<%@ Page Language="C#" Debug="True" Trace="True" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
void Page_Load (Object src, EventArgs e)
{
if (!IsPostBack)
{
LoadTelefonliste();
}
}
void LoadTelefonliste()
{
OleDbConnection connection = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +
Server.MapPath("Telefon.mdb"));
connection.Open();
OleDbCommand ListeLaden = new OleDbCommand ("SELECT Vorname, Nachname,
Telefonnummer, Id FROM Telefon", connection);
OleDbDataReader einlesen = ListeLaden.ExecuteReader();
TelefonListe.Items.Clear();
while (einlesen.Read())
{
TelefonListe.Items.Add(new ListItem(einlesen.GetString(0) + " " +
einlesen.GetString(1) + " " + einlesen.GetString(2),
einlesen.GetInt32(3).ToString() ));
}
einlesen.Close();
connection.Close();
}
void loeschen_Click(Object sender, EventArgs e)
{
if (TelefonListe.SelectedIndex > -1)
{
OleDbConnection connection = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +
Server.MapPath("Telefon.mdb"));
connection.Open();
OleDbCommand EintragLoeschen = new OleDbCommand ("DELETE FROM Telefon
WHERE [EMAIL PROTECTED]", connection);
EintragLoeschen.Parameters.Add("@Id", TelefonListe.SelectedItem.Value);
EintragLoeschen.ExecuteNonQuery();
connection.Close();
LoadTelefonliste();
}
}
void Hinzufuegen_Click(Object sender, EventArgs e)
{
if (Page.IsValid == true)
{
OleDbConnection connection = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +
Server.MapPath("Telefon.mdb"));
connection.Open();
OleDbCommand hinzufuegen = new OleDbCommand ("INSERT INTO Telefon
(Vorname, Nachname, Telefonnummer) VALUES (@Vorname, @Nachname,
@Telefonnummer)", connection);
hinzufuegen.Parameters.Add("@Vorname", Vorname.Text);
hinzufuegen.Parameters.Add("@Nachname", Nachname.Text);
hinzufuegen.Parameters.Add("@Telefonnummer", Telefonnummer.Text);
hinzufuegen.ExecuteNonQuery();
connection.Close();
LoadTelefonliste();
}
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
<font size="4"><strong><u>Telefonverzeichnis</u></strong></font>
</p>
<font size="4">
<p align="left">
<asp:ListBox id="TelefonListe" runat="server" Height="154px"
Width="578px"></asp:ListBox>
</p>
<p align="left">
<asp:Button id="loeschen" onclick="loeschen_Click"
runat="server" Text="L�schen"></asp:Button>
</p>
<p align="left">
<table style="WIDTH: 452px; HEIGHT: 95px">
<tbody>
<tr>
<td>
Vorname*:</td>
<td>
<asp:TextBox id="Vorname"
runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
id="RequiredFieldValidator1" runat="server" EnableClientScript="False"
ControlToValidate="Vorname" ErrorMessage="Bitte Vornamen eingeben."
Visible="False"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
Nachname*:</td>
<td>
<asp:TextBox id="Nachname"
runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
id="RequiredFieldValidator2" runat="server" EnableClientScript="False"
ControlToValidate="Nachname" ErrorMessage="Bitte Nachnamen eingeben."
Visible="False"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
Telefonnummer*:</td>
<td>
<asp:TextBox id="Telefonnummer"
runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
id="RequiredFieldValidator3" runat="server" EnableClientScript="False"
ControlToValidate="Telefonnummer" ErrorMessage="Bitte Telefonnummer
eingeben." Visible="False"></asp:RequiredFieldValidator>
</td>
</tr>
</tbody>
</table>
<asp:Button id="Hinzufuegen" onclick="Hinzufuegen_Click"
runat="server" Text="Hinzuf�gen"></asp:Button>
<font size="2">*Alle gekennzeichneten Felder werden
ben�tigt um einen
Datensatz hinzuzuf�gen.</font>
</p>
</font>
<p>
</p>
</form>
</body>
</html>
_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net