[python] IronPython & ADO.NET - cast 2
Roman Miklos
RMiklos na pss.sk
Středa Září 27 18:19:20 CEST 2006
Dobry den,
Asi IronPython+ADO.NET zatial este moc ludi nepouziva, ked mi nikto
neodpovedal na moju predoslu otazku :-)
Medzitym sa mi podarilo zistit ako sa pouziva DataSet+DataAdapter a tu
pripajam funkcny priklad.
Poznamka:
DataSet v ADO.NET sa podoba na Recordset v ADO, s tym hlavnym rozdielom ze
moze obsahovat viac tabuliek.
----- priklad -----
...
### Pouzitie ADO.NET
import clr
import System
clr.AddReference("System.Data")
import System.Data
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
connectstr='PROVIDER=IBMDA400.DataSource.1;DATA SOURCE='+csebk+'; USER
ID='+userid+'; PASSWORD='+pwd
#print connectstr
# Vytvorit spojenie
dbconn=dbconnection(connectstr)
dbconn.Open()
# Vytvorit SQL Statement
sqlStatement = "SELECT * FROM r000100T.r000270V"
#sqlStatement = "SELECT * FROM r000100T.p400100v"
# DataAdapter
da = dbdataadapter(sqlStatement, dbconn)
# Vytvorit DataSet
#ds = System.Data.DataSet("MyDataSet")
ds=dataset("MyDataSet")
# Naplnit Dataset
da.Fill(ds, "MyTable")
# Vylistovat tabulky v DataSete
for table in ds.Tables:
print table
# Vylistovat vybrane polia vo vsetkych riadkoch 1.tabulky DataSetu
count=0
for row in ds.Tables[0].Rows:
count +=1
print "%10s %10s %10s %10s" % (row[0], row[1], row[2], row[3])
print "pocet viet v tabulke je: %d" % count
# Ukoncit spojenie
dbconn.Close()
----- koniec prikladu -----
----- Forwarded by Roman Miklos/RZB/PSS on 27.09.2006 18:01 -----
Roman Miklos <RMiklos na pss.sk>
Sent by: python-bounces na py.cz
19.09.2006 17:37
Please respond to
Konference PyCZ <python na py.cz>
To
"Konference PyCZ" <python na py.cz>
cc
Subject
[python] Fw: IronPython & ADO.NET
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Ó©
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
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 _______________________________________________
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/20060927/dbfcb988/attachment.htm
Daląí informace o konferenci Python