[python] Fw: IronPython & ADO.NET

Roman Miklos RMiklos na pss.sk
Pátek Říjen 20 09:44:36 CEST 2006


Ano presne tak to bolo, mal som tam chybu a spravne riesenie je tu

http://www.py.cz/pipermail/python/2006-September/004666.html




Pavel Reznicek <pavel.jindrich na tiscali.cz> 
Sent by: python-bounces na py.cz
18.10.2006 20:34
Please respond to
Konference PyCZ <python na py.cz>


To
python na py.cz
cc

Subject
Re: [python] Fw:  IronPython & ADO.NET






Roman Miklos napsal(a):
> 
> Dobry den,
> 
> Skusal ste niekto pristup do databazy cez ADO.NET a IronPython?
> 
> Napr. toto citanie pomocou Readeru mi funguje:
> 
> ----- priklad -----
> ...
> ### Pouzitie ADO.NET
> import clr
> import System
> clr.AddReference("System.Data")
> import System.Data
> from System.Data.OleDb import OleDbConnection as dbconnection
> 
> # Connection String
> connectstr='PROVIDER=IBMDA400.DataSource.1;DATA SOURCE='+csebk+'; USER 
> ID='+userid+'; PASSWORD='+pwd
> 
> # Vytvorit spojenie
> dbcon=dbconnection(connectstr)
> dbcon.Open()
> 
> # Vytvorit SQL Command
> dbcmd = dbcon.CreateCommand()
> dbcmd.CommandText = "SELECT * FROM r000100T.r000270V"
> 
> # Citat data
> reader = dbcmd.ExecuteReader()
> 
> count=0
> while reader.Read():
>  count +=1 
>  print "%10s %10s %10s %10s" % (reader[0], reader[1], reader[2], 
> reader[3]) 
> 
> print "pocet viet v tabulke je: %d" % count
> 
> # zavret reader
> reader.Close()
> 
> # Ukoncit spojenie
> dbcon.Close()
> ----- koniec prikladu -----
> 
> 
> 
> Ked ale skusim pouzit dataadapter a dataset, t.j. zhruba takto 
> 
> ----- priklad -----
> 
> ...
> from System.Data.OleDb import OleDbConnection as dbconnection
> from System.Data.OleDb import OleDbDataAdapter as dbdataadapter
> from System.Data import DataSet as dataset
> 
> # Connection String
> DSN='PROVIDER=IBMDA400.DataSource.1;DATA SOURCE='+csebk+'; USER 
> ID='+userid+'; PASSWORD='+pwd
> print DSN
> conn=dbconnection(DSN)
> conn.Open()
> 
> dataadapter = dbdataadapter("SELECT * FROM r000100T.r000270V", conn)
> #rs = System.Data.DataSet("MyDataSet")
> rs=dataset("MyDataSet")
> dataadapter.Fill(rs,"MyTable")
> #print rs
> row= rs.Tables(0).Rows(0)
> ...
> ----- koniec prikladu -----
> 
> dostanem na poslednom uvedenom riadku chybu
> "DataTableCollection object is not callable"
> 
> Mate niekto funkcny priklad jak pouzit DataSet v IronPythone?
> 
> Mgr. Ing. Roman MIKLÓŠ

Nemám funkční příklad, ale mám tip. Nikdy jsem nepracoval s 
IronPythonem, ale s .NETem a Pythonem ano. rs.Tables v posledním řádku 
je podle chybové hlášky typu DataTableCollection, což je kollekce 
tabulek. Vy se pokoušíte získat první tabulku z této kolekce. Čili je 
možné, že jste si jen popletl typ závorek. Pokud autoři IronPythonu dali 
typu DataTableCollection rozhraní standardní pythonové sekvence, měl by 
fungovat tento zápis:

row = rs.Tables[0].Rows[0]

Pavel Řezníček
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python


Mgr. Ing. Roman MIKLÓŠ 
Prvá stavebná sporiteľňa a.s. 
Bajkalská 30, P. O. Box 48 
829 48  Bratislava 25 
Tel.: +421/ 2 / 582 31 174 
Fax: +421/ 2 / 582 31 109 
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20061020/2fb5dc8a/attachment.htm 


Další informace o konferenci Python