[COLOR=#0000ff]##########################################[/color]
[COLOR=#0000ff]# Reading records and fields from database[/color]
[COLOR=#0000ff]##########################################[/color]
[COLOR=#0000ff]### Enter Login-Data[/color]
[COLOR=#804040][b]puts[/b][/color] -nonewline stdout [COLOR=#ff00ff]"AS/400 name : "[/color]; [COLOR=#804040][b]flush[/b][/color] stdout; [COLOR=#804040][b]set[/b][/color] csebk [[COLOR=#804040][b]gets[/b][/color] stdin]
[COLOR=#804040][b]puts[/b][/color] -nonewline stdout [COLOR=#ff00ff]"User Id : "[/color]; [COLOR=#804040][b]flush[/b][/color] stdout; [COLOR=#804040][b]set[/b][/color] userid [[COLOR=#804040][b]gets[/b][/color] stdin]
[COLOR=#0000ff]# Using getpass for getting password[/color]
[COLOR=#804040][b]source[/b][/color] getpass.tcl
[COLOR=#804040][b]set[/b][/color] pass [getpass [COLOR=#ff00ff]"Password : "[/color]]
[COLOR=#804040][b]puts[/b][/color] {}
[COLOR=#0000ff]### Using ADO[/color]
[COLOR=#804040][b]package[/b][/color] require tcom
[COLOR=#0000ff]# Connection String[/color]
[COLOR=#804040][b]set[/b][/color] connection_string [COLOR=#ff0000]\[/color]
[[COLOR=#804040][b]format[/b][/color] [COLOR=#ff00ff]"PROVIDER=IBMDA400;DATA SOURCE=%s; USER ID=%s; PASSWORD=%s"[/color] [COLOR=#ff0000]\[/color]
[COLOR=#008080]$csebk[/color] [COLOR=#008080]$userid[/color] [COLOR=#008080]$pass[/color]]
[COLOR=#0000ff]# Open ADO connection[/color]
[COLOR=#804040][b]set[/b][/color] connection [::tcom::ref createobject ADODB.Connection]
[COLOR=#008080]$connection[/color] Open [COLOR=#008080]$connection_string[/color]
[COLOR=#0000ff]# Create an instance of an ADO Recordset[/color]
[COLOR=#804040][b]set[/b][/color] recordset [::tcom::ref createobject ADODB.Recordset]
[COLOR=#804040][b]set[/b][/color] sql_stmt [COLOR=#ff00ff]"select *\[/color]
[COLOR=#ff00ff] from IBPDDB.P001800V\[/color]
[COLOR=#ff00ff] where OBEC LIKE '%Mesto%'"[/color]
[COLOR=#0000ff]# Open the recordset, using an SQL statement and the existing ADO connection[/color]
[COLOR=#008080]$recordset[/color] Open [COLOR=#008080]$sql_stmt[/color] [COLOR=#008080]$connection[/color] [COLOR=#ff00ff]1[/color] [COLOR=#ff00ff]3[/color]
[COLOR=#0000ff]# Create and populate an array of field names[/color]
[COLOR=#804040][b]set[/b][/color] fields_count [[[COLOR=#008080]$recordset[/color] Fields] Count]
[COLOR=#804040][b]set[/b][/color] fields {}
tcom::[COLOR=#804040][b]foreach[/b][/color] field [[COLOR=#008080]$recordset[/color] Fields] {
[COLOR=#804040][b]lappend[/b][/color] fields [[COLOR=#008080]$field[/color] Name]
}
[COLOR=#804040][b]set[/b][/color] csv_file_name [COLOR=#ff00ff]"mesta.csv"[/color]
[COLOR=#0000ff]# Open CSV file[/color]
[COLOR=#804040][b]puts[/b][/color] [[COLOR=#804040][b]format[/b][/color] [COLOR=#ff00ff]"Now writing data to CSV file '%s'.."[/color] [COLOR=#008080]$csv_file_name[/color]]
[COLOR=#804040][b]set[/b][/color] csv_file [[COLOR=#804040][b]open[/b][/color] [COLOR=#008080]$csv_file_name[/color] [COLOR=#ff00ff]"w"[/color]]
[COLOR=#0000ff]# Header line[/color]
[COLOR=#804040][b]set[/b][/color] line [[COLOR=#804040][b]join[/b][/color] [COLOR=#008080]$fields[/color] [COLOR=#ff00ff]";"[/color]]
[COLOR=#804040][b]puts[/b][/color] [COLOR=#008080]$csv_file[/color] [COLOR=#008080]$line[/color]
[COLOR=#0000ff]# Data lines [/color]
[COLOR=#804040][b]while[/b][/color] {![[COLOR=#008080]$recordset[/color] EOF]} {
[COLOR=#804040][b]set[/b][/color] line_list {}
tcom::[COLOR=#804040][b]foreach[/b][/color] fld [[COLOR=#008080]$recordset[/color] Fields] {
[COLOR=#804040][b]lappend[/b][/color] line_list [[COLOR=#008080]$fld[/color] Value]
}
[COLOR=#804040][b]set[/b][/color] line [[COLOR=#804040][b]join[/b][/color] [COLOR=#008080]$line_list[/color] [COLOR=#ff00ff]";"[/color]]
[COLOR=#804040][b]puts[/b][/color] [COLOR=#008080]$csv_file[/color] [COLOR=#008080]$line[/color]
[COLOR=#008080]$recordset[/color] MoveNext
}
[COLOR=#804040][b]puts[/b][/color] [COLOR=#ff00ff]"..done."[/color]
[COLOR=#0000ff]# Close CSV file[/color]
[COLOR=#804040][b]close[/b][/color] [COLOR=#008080]$csv_file[/color]
[COLOR=#0000ff]# Close RecordSet[/color]
[COLOR=#008080]$recordset[/color] Close
[COLOR=#0000ff]# Close Connection[/color]
[COLOR=#008080]$connection[/color] Close