[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