nur ein paar kleine Hinweise von mir, die dir evtl. einiges an Ärger sparen:
- verwende immer ein ` um Tabellen und Spalten Namen zu kennzeichnen
- schliesse den Befehl mit einem ;
- kopier niemals Usereingaben direkt in einen SQL Befehl hinein (SQL Injection!)
AnsiString Benutzer = Label_Benutzer->Caption;
AnsiString Neues_Passwort = Edit_Neues_Passwort->Text;
AnsiString sCmd = "UPDATE `Tabelle1`";
sCmd = sCmd + " SET `Passwort`='" + addslashes(Neues_Passwort) + "'";
sCmd = sCmd + " WHERE `Benutzer`='" + addslashes(Benutzer) + "';";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(sCmd);
Query1->ExecSQL();
eine addslashes Routine die Hochkommas quotet musst du dir noch schreiben
EDIT:
den Umweg über sCmd geh ich gerne um mir den ganzen SQL Befehl beim Debuggen nochmal ausgeben zu können
MFK schrieb:
endline schrieb:
Hallo, fuer diese 2 Abfragen
erzeugt Access 3 Tabellen
- TABELLE1
- TABELLE2
- TABELLE2_1
Du meinst, der Assistent zeigt dir diese drei für die Feldauswahl an? Das ist normal. Die Verweise können ja auf unterschiedliche Datensätze in TABELLE2 zeigen. Wie willst du sonst festlegen, welchen Titel20 du meinst?
Ist einleuchtend. Hab vielen Dank.
C/C++ Code:
ADOQuery1->SQL->Add("SELECT * FROM database WHERE ID=:ID");
ADOQuery1->Parameters->ParamByName("ID")->Value = 50;
Ah, vielen Dank!
Genauso meinte ich das...
Mit dem String hat zwar auch geklappt und arbeitet derzeit, aber wie oben ist mir persönlicher lieber
Danke und Gruß
Hallo,
ich habe die Tage JasperReports gefunden.
Das ist eine javabasierte Opensource Reporting Lösung, bestehend aus Report Designer, Report Engine + Chartingkomponente und Reportingserver.
Man kann mit diesem Tool recht einfach auch komplexe Reports erstellen. Diese können leicht in verschiedenen Fremdandwendungen integriert werden (dynamisch), alternativ kann man auch nach PDF, XLS, HTML, CSV.. exportieren.
Der eingebaute Reportingserver läuft auf Tomcat und ähnelt etwas dem Reportingserver vom SQL Server 2005.
Meiner Meinung eine gute Alternative zu Chrystal Reports - wenn man etwas Lernaufwand investieren möchte.
Links:
www.jasperforge.org
www.oreports.com
Hi ich habe folgende Fehlermeldung
Laufzeitfehler 2110
MS Access kann den Focus nicht auf das Steuerelement uf verschieben.
Der Debugger zeigt mir das der fehler in folgendem Codeausschnitt liegt.
Private Sub Form_Current()
Dim sf As SubForm
Set sf = Me!uf
[b]sf.SetFocus[/b]
sf.Form!Name.SetFocus
Me!Name.SetFocus
End Sub
Kann mir jemand genau sagen was dieser codeausschnitt genau macht?
MFG eiskalt
Hallo,
in meinem Netzwerk läuft ein MySQL-Server (Version 5.0). In diesem ist eine Datenbank mit mehreren Tabellen hinterlegt. Auf den einzelnen Rechnern (Windows 2000) habe ich den ODBC-Treiber (Version 3.51) installiert und kann im ODBC-Datenquellen-Administrator auch eine erfolgreiche Verbindung zu einer Tabelle herstellen.
Füge ich jetzt in mein MFC-Projekt eine ODBC-Consumer-Klasse ein, so kommt bei der Angabe der Datenquelle folgende Fehlermeldung: "Loading database list not implemented for SQLDriverConnect()"?
Was mache ich da falsch? Hat das mit irgendwelchen Rechten zu tun? Bin immer als root reingegangen. Auch wenn ich die API-Klassen nehme funktioniert es nicht. Kann mir da irgendjemand einen Tipp geben?
Hab mal ein funktionierendes Projekt (verwendet Access) auf MySQL umgestellt (ConnectionStrings etc). Beim Starten kommt folgende Fehlermeldung: "Der Versuch, eine Tabelle zu öffnen, ist fehlgeschlagen, da am angegebenen Ort keine Spalten abgerufen werden konnten." Hat das mit irgendwelchen Rechten zu tun?
Hi,
ich mach mir gerade gedanken über eine Benutzer und rechteverwaltung für eine mysql-datenbank. Im Phpmyadmin kann man ja recht einfach benutzer anlegen aber man kann die zugriffsrechte scheinbar nicht driekt auf bestimmte tabellen beschränken.
Weiß da viell. wer wie man sowas realisiert? Das ganze ding soll halt mit PHP abrufbar sein.
mfg
Fincki schrieb:
Grafische Tools gibts hier: http://www.mysql.com/products/tools/
Irgendwie bin ich nicht mehr auf dem neuestem Stand. Für Version 4 gab es noch das MySQL Control Center, das scheint jetzt vom MySQL Administrator abgelöst worden zu sein.
Ja das scheint jetzt der Administrator zu machen. Aber ich habe noch eine andere Frage: ich habe die GUI-Tools auf dem Rechner installiert, wie auch der Server läuft. Wie kann ich von einem anderen Rechner im Netzwerk die Administrierung machen?
Hallo zusammen
Vielen Dank für die Antworten.
Werde ich gleich mal ausprobieren.
Ich wusste doch das sehr viel mit SQL möglich ist, jedoch da muß ich noch viel lernen
MfG Stephan
lomtas schrieb:
Danke, genau das habe ich gesucht. Leider ist mysql_fetch_array nicht dabei...
Die Funktion entspricht in etwa mysql_fetch_field (). Das Problem ist, dass C kein Assoziativen Array kennt. Du müsstest also das Field in eine std::map packen, um das selber Resultat zu bekommen, wie in PHP. Wäre warscheinlich erstmal einfacher mit fetch_row zu arbeiten.
lomtas schrieb:
Die Seite habe ich übrigens vor über einem Jahr programmiert und man lernt ja auch dazu Deswegen habe ich es nach und nach ausgebessert, aber halt an ein oder anderer Stelle vergessen. Hast du noch ne gute Seite, die beschreibt was möglich ist, wenn man das vergisst? Was hast du gemacht um zu sehen, ob ich es vergessen habe oder nicht?
Ich hab als benutzernamen einfach mal "asdf '; blubb" eingegeben und hab nen PHP fehler bekommen. Du solltest einfach mal in jede Benutzereingabe (auch in jeden URL Parameter) mal Strings mit Hochkommas oder Ähnlichem einsetzten.
ich kenns von Interbase eigentlich nur so:
CREATE GENERATOR new_generator;
CREATE TRIGGER Tabellentrigger FOR Tabelle
BEFORE INSERT POSITION 0
AS BEGIN
NEW.lfd_nr = GEN_ID(new_generator,1);
END;
also ohne die if-Abfrage und nur für Insert
Linnea schrieb:
[Edit]falls ein genauer Bezug zu id_alt gewünscht ist, probier mal folgendes
SELECT c.text FROM (namen a JOIN namen b on (a.id=b.id_alt))
join kommentare c on (c.id=a.id) WHERE a.name="F_li%";
Genau das mein ich, aber was wenn da noch ein Nachfolger ist, und noch einer? Geht das nicht dynamisch?
Vielend dank für deine Hilfe,
es hat sich erledigt, ich habe es geschafft und der zweite Report steht nun auch.
Nochmals vielen dank für die Hilfe.
Gruß
Dieter