Ado

Hallo.

Wo genau hapert es denn? Eine grundlegende Einführung sollte folgender Link bieten: http://www.microsoft.com/germany/ms/msdnbiblio/show_all.asp?siteid=542640

http://%3Cbr%20/%3E%0D%0Ahttp://www.microsoft.com/germany/ms/msdnbiblio/show_all.asp?siteid=542640%3Cbr%20/%3E
Falls dieser allerdings nicht ausreicht, bin ich gerne bereit, weiter auszuholen.
Du musst nur danach fragen, Datenbanken unter .NET sind nämlich eins meiner Lieblingsthemen... ;-)

Gruß, Niko
 
Zuletzt bearbeitet:
hi

na wenn das dein Lieblingsthema ist hoffentlich kannst du mir weierhelfen
Bin nämlich am verzweifeln

DAs Problem liegt daran, dass ich keine Daten in meine Datenbank bekomme.

HAb schon etliches probiert, aber es geht einfach nicht

1) es wird nur ein leerer DAtenbankeintrag erzeugt

anderer Versuch ergab
Ich konnte Daten nur zur Datenbank hinzufügen, wenn ich vorher schon von Hand Daten in die Datenbank eingfügt habe.

So ein Mist, hoffe du weist woran das liegt


http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/data/start.htm
Tag 15

An das Beispiel hab ich mich orientiert
Aber das Beispiel geht glaub eh davon aus, dass schon Daten vorhanden sind :-(


Wenn du magst, kann ich dir auch mal mein Progrämmchen mit .mdb schicken

danke
gruß
 
Hallo.

Ok, das tut mir jetzt zwar leid, aber ich bin leider einfach mal davon ausgegangen, dass du C# benutzt (da du nichts näheres zur verwendeten Sprache geschrieben hast). :-(

Unter C# geht das mit ADO nämlich relativ einfach, ohne Zeiger-Algorithmik und mit höchstens 5 Zeilen Code für den reinen Datenbankzugriff.
Mit Visual C++ habe ich leider (noch) nicht viel Erfahrung.
Ich kann dir also höchstens etwas Code posten, der demonstriert wie man das ganze unter C# macht, wenn du das möchtest.
Generell würde ich sagen, brauchst du zuerst ein Connection-Objekt (SqlConnection z.B um mit dem Server zu verbinden), dann einen DataAdapter, dem du die Connection zusammen mit der Anweisung übergibst (z.B. SELECT * FROM MyTable WHERE *).
Damit befülle ich dann meistens ein DataSet, mit welchem ich wiederum arbeite.

Code:
string myConnectString = "Persist Security Info=False;"+
                                        "Integrated Security=SSPI;"+
                                        "database=northwind;"+
                                        "server=mySQLServer;"+
                                        "Connect Timeout=30";
SqlConnection myConnection = new SqlConnection(myConnectString);
myConnection.Open();

string sqlQuery = "SELECT * FROM MyTable WHERE * ;";
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlQuery, connection);

DataSet ds = new DataSet();
myAdapter.Fill(ds,"meineTabelle");				
DataTable meineTabelle = new DataTable();			
meineTabelle = ds.Tables["meineTabelle"];

int meineID = Convert.ToInt32(meineTabelle.Rows[0]["myID"]);
myID entspricht hier einem Wert der Datenbank.

Um dann wiederum Daten zu speichern:
Code:
string myConnectString = "Persist Security Info=False;Integrated 
                              Security=SSPI;database=northwind;server=mySQLServer;Connect 
                                     Timeout=30";
SqlConnection myConnection = new SqlConnection(myConnectString);
myConnection.Open();

sqlQuery = "INSERT INTO MyTable(MyID) VALUES ('007') ;";
command = new SqlCommand(sqlQuery, myConnection);
command.ExecuteNonQuery();

myConnection.Close();

Für uns andere User hier wäre es im übrigen hilfreich, wenn du selber die entscheidenden Code-Stellen (also die, wo Schwierigkeiten machen) auch hier rein postest und genau angibst, mit welcher Entwicklungsumgebung, welcher Datenbank und welcher Version von Visual C++ bzw. Managed C++ du arbeitest.
Letztere Informationen sollten zudem auch im Betreff erwähnt werden. ;)

Das alles beugt Mißverständnissen wie diesem vor und man weiss vorher genauer, ob man dir helfen kann.
Sorry, dass ich es leider doch nicht kann.

Gruß, Niko

EDIT: Habe etwas Code hinzugefügt.
 
Zuletzt bearbeitet:
okay, wenn das so ist,

dachte halt es wäre besser zu fragen, ob sich überhaupt jemand mit ADO auskennt
Aber stimmt schn anderst ists besser, also sorry


Ich benutze C++ /MFC / VC 6 / Access


In der Funktion liegt vielleicht der Fehler,

Das Problem steht ja oben, keine Ahnung wie man das macht

Bin über jeden Tipp, dankbar
cu

PHP:
void CAdoDatabaseDoc::AddNew()
{
 
try
{ 
// Kann ein neuer Datensatz hinzugefügt werden?
if (m_ptrRs->Supports(adAddNew))
{
 
 
/* 
//Leeren Datensatz hinzufügen
//m_piAdoRecordBinding->AddNew(&m_rsRecSet);
COleDateTime dtBlank;
	 strcpy(m_rsRecSet.m_szLastName, " " );
strcpy(m_rsRecSet.m_szFirstName, " " );
strcpy(m_rsRecSet.m_szAge, " " ); 
m_rsRecSet.m_dtAuswertedatum = (DATE)dtBlank;
m_rsRecSet.m_dtVersuchsdatum = (DATE)dtBlank;
	 //strcpy(m_rsRecSet.m_szLieblingsfarbe, " " );
*/
m_ptrRs->AddNew();
 
m_ptrRs->Update();
}
}
 
// Fehler?
catch (_com_error &e)
{
// Fehlermeldung generieren
GenerateError(e.Error(), e.Description());
}
 
}
 
Hallo nochmal.

Ich bin heute in einem anderen Thread über einen Link gestolpert, der dir vielleicht die eine oder andere Frage noch klärt zu ADO und VC++:
Geh' zu MindCracker. Ich hoffe, das bringt dir was.

Gruß, Niko
 
Zurück