[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