Beiträge von s1ck
-
-
Wie kann ich in Centura daten, die ich in Textboxen eingegebn hab speichern?
Es handelt sich hierbei um eine Tabelledie mit daten gefüllt werden soll. Für jede spalte habe ich eine Textbox und möchte diese daten, die ich in die textboxen schreibe per knopfdruck in die tabelle speichern.
mfg s1ck -
Fehlergefunden, DB geht, alle sin glücklich :))
trotzdem danke für hilfe,
mfg s1ck -
Garnet mal so verkehrt die Idee
Also:
Vorhaben:
ICh hab ein Programm geschrieben das als Datenbank fungieren soll. Dazu hab ich in C# eine Access Datenbank implementiert bzw. ich lasse diese reinladen.
Nun hat mein Programm aber auch eine Suchfunktion und um diese dreht es sich hier.
Was soll sie können?
ICh hab in meiner Suchfunktion 9 Textboxen die die jeweiligen Tabellen-header repräsentieren (Name, Vorname, Strasse...).
Wenn ich nun zum Beispiel bei der Textbox "name" ein "M" eingebe, möchte ich, dass er automatisch die Datenbank nach den Einträgen durchsucht in denen der Name mit "m" beginnt und mir diese in einer Tabelle ausgibt. die anderen Felder sind analog zu diesem zu betrachten. Bei Eintrag in zwei feldern sollen beide als Vorraussetzung dienen. (kurz: FILTER)
So, nun zu dem Programmcode:
Die Variable sSql beinhaltetdie zuvorschon aus den Textboxen entnommen daten in der Form: "SELECT * FROM <tabelle> WHERE <bedingung> AND <bedingung>..."
DataRowView[] drv;
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = sSql;
cmd.Connection = oleDbConnection1;
OleDbDataReader rdr = cmd.ExecuteReader();
drv = dv.FindRows(rdr); //rausfinden wieviele Zeilen es sind -> mit schleife ausgeben
Fehlerquelle:
die letzten beiden Zeilen desProgrammcodes. Zum einen gibt er eine Überladung des ExecuteReader() an und zum anderen kann ich nicht die Länge des Arrays drv ermitteln.
Bei weiteren Fragen einfach posten und wenn ihr ne Lösung / Alternative habt dann nur zu
mfgs1ck -
Geht darum, dass ich in Textboxes verschiedene Daten eingeben möchte (auch buchstaben) und das Programm mir dann alle in der Datenbank (Access) befindlichen daten mit diesen eigenschaften raussucht und in einer tabelle ausgibt.
Programmcode der Fehlerstelle :try
{
oleDbConnection1.Open();
oleDbDataAdapter1.Fill(dataSet11);
tbl = dataSet11.Tables['Tabelle'];
DataRow row;
DataRowView[] drv;
string a;
int i, j;
DataTable tblSearch = tbl.Clone();OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = sSql;
cmd.Connection = oleDbConnection1;
OleDbDataReader rdr = cmd.ExecuteReader();// dv.Sort = cmd.CommandText;
drv = dv.FindRows(rdr);
for(i=0; i<= drv.Length -1; i++)
{
row = tblSearch.NewRow();
for(j = 0; j<= tbl.Columns.Count -1 ; j++)
{
row[j] = drv[i].Row[j];
}
tblSearch.Rows.Add(row);
}
dvSearch = new DataView (tblSearch);
dg.DataSource = dvSearch;
dg.CaptionText = "Suchergebnisse";}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
oleDbConnection1.Close();
}
Die variable "sSql" ist vom Typ her der Art "Select * From <tabelle> Where <bedingng> and <bedingung>
Fehler ist wahrscheinlich innerhalb dieses Ausschnittes (ohne Garantie):
cmd.Connection = oleDbConnection1;
OleDbDataReader rdr = cmd.ExecuteReader();
// dv.Sort = cmd.CommandText;
drv = dv.FindRows(rdr);Bitte um Hilfe,
mfg s1ck -
hiho,
wollt mich nur mal schnell erkundigen, ob es für Centura Literatur auf DEUTSCH (!!!) gibt.
Würde mich über antwort freuen.
mfg s1ck -
hiho,
beschäfftige mich nun mal mit C# und bräuchte mal den code dafür, dass ich das proggi verzögern kann. (Um zB eine Uhr zu bauen - damit das programm auch die sekunde wartet und nicht gleich weiter geht)
Bei TB war es glaube delay oO
Dann bräuchte ich nochmal den Code um den Bildschirm zu "leeren"...
Bei TB wars glaube clear *g*Jemand ne ahnung
mfg s1ck