ml-pnet je biblioteka Mono klasa (System.Data etc), koja je iskompajlirana sa Portable .NET kompajlerom i samim tim radi odlicno u dotGNU okruzenju .
ml-pnet se moze skinuti sa http://apt.linuks.org/fedora/2.0/noarch/RPMS.linuks/ , a pnet, pnetlib, treecc, kao i pnetC takodje sa ovog sajta, samo negde u nekom drugom direktorijumu (verovatno http://apt.linuks.org/fedora/2.0/i386/RPMS.linuks/ ).
Napomena: Ovi RPM-ovi, kao i SRC RPM-ovi ce se iskompajlirati na bilo kojoj RPM-baziranoj distribuciji, bez ikakvih problema. Ako ih bude molim da mi javite.
Za kraj evo koda koji se sasvim lepo kompajlira sa PNET cscc kompajlerom:
Code:
using System;
using System.Data;
using Mono.Data.SqliteClient;
public class Test
{
public static void Main(string[] args)
{
string connectionString = "URI=file:SqliteTest.db";
IDbConnection dbcon;
dbcon = new SqliteConnection(connectionString);
dbcon.Open();
IDbCommand dbcmd = dbcon.CreateCommand();
// requires a table to be created named employee
// with columns firstname and lastname
// such as,
// CREATE TABLE employee (
// firstname varchar(32),
// lastname varchar(32));
string sql =
"SELECT firstname, lastname " +
"FROM employee";
dbcmd.CommandText = sql;
IDataReader reader = dbcmd.ExecuteReader();
while (reader.Read())
{
string FirstName = (string) reader[0];
string LastName = (string) reader[1];
Console.WriteLine("Name: " +
FirstName + " " + LastName);
} // while
// clean up
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;
}
}
[dejan@gnu SQLite]$ sqlite SqliteTest.db
SQLite version 2.8.13
Enter ".help" for instructions
sqlite> CREATE TABLE employee(
...> firstname varchar(32), lastname varchar(32));
sqlite> INSERT INTO employee VALUES('Dejan', 'Lekic');
sqlite> INSERT INTO employee VALUES('Sanda', 'Petakovic');
sqlite> .quit
[dejan@gnu SQLite]$ cscc -o Test.exe -l System.Data.dll -l Mono.Data.SqliteClient.dll Test.cs
[dejan@gnu SQLite]$ ilrun ./Test.exe
Name: Dejan Lekic
Name: Sanda Petakovic
[dejan@gnu SQLite]$
using System;
using System.Data;
using Mono.Data.SqliteClient;
public class Test
{
public static void Main(string[] args)
{
string connectionString = "URI=file:SqliteTest.db";
IDbConnection dbcon;
dbcon = new SqliteConnection(connectionString);
dbcon.Open();
IDbCommand dbcmd = dbcon.CreateCommand();
// requires a table to be created named employee
// with columns firstname and lastname
// such as,
// CREATE TABLE employee (
// firstname varchar(32),
// lastname varchar(32));
string sql =
"SELECT firstname, lastname " +
"FROM employee";
dbcmd.CommandText = sql;
IDataReader reader = dbcmd.ExecuteReader();
while (reader.Read())
{
string FirstName = (string) reader[0];
string LastName = (string) reader[1];
Console.WriteLine("Name: " +
FirstName + " " + LastName);
} // while
// clean up
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;
}
}
[dejan@gnu SQLite]$ sqlite SqliteTest.db
SQLite version 2.8.13
Enter ".help" for instructions
sqlite> CREATE TABLE employee(
...> firstname varchar(32), lastname varchar(32));
sqlite> INSERT INTO employee VALUES('Dejan', 'Lekic');
sqlite> INSERT INTO employee VALUES('Sanda', 'Petakovic');
sqlite> .quit
[dejan@gnu SQLite]$ cscc -o Test.exe -l System.Data.dll -l Mono.Data.SqliteClient.dll Test.cs
[dejan@gnu SQLite]$ ilrun ./Test.exe
Name: Dejan Lekic
Name: Sanda Petakovic
[dejan@gnu SQLite]$
Naravno, da sam odradio ilrun --register ./Test.exe mogao sam da pokrenem Test.exe direktno ...