Anonymní profil plantaznik – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil plantaznik – Programujte.comAnonymní profil plantaznik – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.1.–

plantaznik
C / C++ › pripojeni k databazi
4. 8. 2008   #81818

Poradite prosim, kde je problem?
Pripojuju se k MS SQL server 2005 express edition a chci od tam cist tabulku. Vypisuje mi to toto:

Error:
Code = 80040e21
Code meaning = IDispatch error #3105
Source = Microsoft OLE DB Service Components
Description = Operace služby OLE DB s více kroky vedla k vytvoření chyb. Zkontro
lujte všechny hodnoty stavů služby OLE DB, jsou-li k dispozici. Nebyla provedena
žádná akce.
Error:
Code = 80004003
Code meaning = Neplatný ukazatel
Source = (null)
Description = (null)
Pokračujte stisknutím libovolné klávesy...


myslim, za problem je v connection stringu, ale netusim
poradte prosim co stim, moc by mi to pomohlo dik moc.

zdrojak test.cpp:


#include <iostream>
#include "Database.h"

char CnnStr[200]="data source=PLANTAKOMP\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|pokus1.mdf;User Instance=true";
char ErrStr[200];



using namespace std;

int main()
{
::CoInitialize(NULL);
Database db;
Table tbl;
if(!db.Open("sa","etarak",CnnStr))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
if(!db.Execute("select * from MEASRES",tbl))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
/*if(!db.OpenTbl(ADODB::adCmdText,"select * from authors order by au_fname,au_id",tbl))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}*/
char id[100];
if(!tbl.ISEOF())
tbl.MoveFirst();

while(!tbl.ISEOF())
{
if(tbl.Get("au_id",id))
cout<<"\nid:"<<id;
else
{
tbl.GetErrorErrStr(ErrStr);
cout<<"\n"<<ErrStr<<"\n";
break;
}
if(tbl.Get("au_fname",id))
cout<<" fname:"<<id;
else
{
tbl.GetErrorErrStr(ErrStr);
cout<<"\n"<<ErrStr<<"\n";
break;
}

tbl.MoveNext();
}
::CoUninitialize();

system("PAUSE");

return 0;
}

plantaznik
C / C++ › ODBC v C++
3. 8. 2008   #81797

To Jura : Povedlo se me rozchodit jeden ze skriptu na codeguru. (konkretne http://www.codeguru.com/cpp/data/mfc_database/ado/article.php/c6729__1/), nejsem si, ale jist jak by u mne mel vypadat connection string. Pripojuji se na MS SQL server 2005 express edition.


zdrojový kód:

#include <iostream>
#include "Database.h"

char CnnStr[200]="Provider=PLANTAKOMP\SQLEXPRESS;Persist Security Info=False;"\
"User ID=sy;Initial Catalog=pubs;Data "\
"Source=PRASUN@CSE" ;

//Mel bych cely tento char nahradit nejakym z www.connectionstrings.com pro MS SQL 2005 EE?

char ErrStr[200];

using namespace std;

int main()
{
::CoInitialize(NULL);
Database db;
Table tbl;
if(!db.Open("sy","cse-98",CnnStr)) //Tady si nejsem jist co by melo byt parametry funkce Open-zvlaste to cse-98
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
if(!db.Execute("select * from authors order by au_fname,au_id",tbl))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}
/*if(!db.OpenTbl(ADODB::adCmdText,"select * from authors order by au_fname,au_id",tbl))
{
db.GetErrorErrStr(ErrStr);
cout<<ErrStr<<"\n";
}*/
char id[100];
if(!tbl.ISEOF())
tbl.MoveFirst();

while(!tbl.ISEOF())
{
if(tbl.Get("au_id",id))
cout<<"\nid:"<<id;
else
{
tbl.GetErrorErrStr(ErrStr);
cout<<"\n"<<ErrStr<<"\n";
break;
}
if(tbl.Get("au_fname",id))
cout<<" fname:"<<id;
else
{
tbl.GetErrorErrStr(ErrStr);
cout<<"\n"<<ErrStr<<"\n";
break;
}

tbl.MoveNext();
}
::CoUninitialize();

system("PAUSE");

return 0;
}

------------------------

Dekuji za odpoved

planataznik
C / C++ › ODBC v C++
3. 8. 2008   #81780

Super dik moc, kdybys to nasel bylo by to vyborny! Akorat nepocita se v tom prikladu na codesource s tim ze mam MFC knihovny? Ty totiz pry v express edition pristupny nejsou..

plantaznik
C / C++ › ODBC v C++
3. 8. 2008   #81763

Budu to delat asi v VC++ 2008 EE, a potreboval bych se vzdycky jenom pripojit k tomu mdf souboru pridat zaznamy a skoncit. Je to hodne slozite? Da se to delat v express edition bez MFC knihoven?
Diky

plantaznik
C / C++ › ODBC v C++
3. 8. 2008   #81759

Pomohl by mi nekdo prosim s mym problemem pripojeni k databazi? Potreboval bych popsat krok po kroku jak se pres c++ pripojit k db MS SQL SERVER 7.0, pridat zaznam, a ukoncit spojeni. Docetl jsem sem se, ze nejvyhodnejsi bude pravdepodobne vyuzit ODBC. Bohuzel jsem ale nikde nenasel uceleny navod a nejsem schopen to rozjet.
Pomohl by urcite i nejaky kvalitni odkaz, kde by to bylo dobre rozvedeno - klidne i anglicky.

Mnohokrat dekuju za pomoc.

P.S.:to ODBC budu muset pravdepodbne naistalovat, MS SQL 7.0 ho neobsahuje ze?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032022 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý