Ik ben me voor het eerst bezig met wat C#. Nu ben ik bezig met een Visual C# project en graag zou ik daar de SQLite library bij gebruiken. Ik heb de broncode van het mono project (www.go-mono.com) gedownload en heb de Mono.Data.SqliteClient code omgezet naar een Visual C# project. Dit werkt allemaal op de SqliteDataReader.ExecuteReader() methode na. De versies die geen antwoord terug verwachten van de database werken, maar de versie met een callback functie gaat dus fout. Heeft iemand hier ervaring mee?
De code die ik had om Sqlite te testen:
Als iemand meer wil weten / me helpen, dan wil ik best de workspaces online zetten. De laatste traceback komt bij de volgende instructie (is code van de mono class libs):
[sqlitecommand.cs]
Als iemand me desnoods kan wijzen op een stukje documentatie over hoe callback routines te definieren in c# welke aangeroepen kunnen worden door een stukje native dll code, dan zou dat al helpen.
Rick
De code die ik had om Sqlite te testen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| using System;
using System.Data;
using Mono.Data.SqliteClient;
namespace SqliteTest
{
class SqliteTestApp
{
[STAThread]
static void Main(string[] args)
{
string connectionString = "URI=file:SqliteTest.db";
SqliteConnection dbcon;
dbcon = new SqliteConnection(connectionString);
dbcon.Open();
SqliteCommand dbcmd = dbcon.CreateCommand();
dbcmd.Connection = dbcon;
string sql = "CREATE TABLE test (nummer int)";
sql = "INSERT INTO test VALUES (12)";
dbcmd.CommandText = sql;
dbcmd.ExecuteNonQuery();
sql = "SELECT nummer FROM test";
dbcmd.CommandText = sql;
SqliteDataReader reader;
reader = dbcmd.ExecuteReader();
while (reader.Read())
{
int nummer = reader.GetInt32(0);
Console.WriteLine(nummer);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;
}
}
} |
Als iemand meer wil weten / me helpen, dan wil ik best de workspaces online zetten. De laatste traceback komt bij de volgende instructie (is code van de mono class libs):
[sqlitecommand.cs]
code:
1
2
| err = sqlite_exec (parent_conn.Handle, sql,
new SqliteCallbackFunction(reader.SqliteCallback), IntPtr.Zero, &msg_result); |
Als iemand me desnoods kan wijzen op een stukje documentatie over hoe callback routines te definieren in c# welke aangeroepen kunnen worden door een stukje native dll code, dan zou dat al helpen.
Rick
[ Voor 7% gewijzigd door Verwijderd op 20-07-2003 19:04 . Reden: code block ]