All,
ik ben hier wat aan het prullen met ASP.NET / C# icm MySQL.
Ik heb reeds een tabel aangemaakt 'TblLogs' met hierin 2 velden: ID (autonummering) en Comment (Varchar (255)).
Ik heb ook volgende custom class aangemaakt voor het managen van de connectie:
En in de CS file van mijn test pagina, bij page_load doe ik het volgende:
Wanneer hij aan de regel 'cmd.executenonquery()' komt, springt hij bij het debuggen hierna naar de disposing functie van mijn class. Wanneer hij alles gedisposed heeft springt hij naar de Catch van bovenstaande code en geeft me de melding: Input string was not in a correct format...
Maar volgens mij staat er in de parameter toch wel degelijk een string? van het type 'varchar' ?
ik ben hier wat aan het prullen met ASP.NET / C# icm MySQL.
Ik heb reeds een tabel aangemaakt 'TblLogs' met hierin 2 velden: ID (autonummering) en Comment (Varchar (255)).
Ik heb ook volgende custom class aangemaakt voor het managen van de connectie:
C#:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Configuration; using MySql.Data.MySqlClient; namespace ClassLibrary.DB { public class Connectie : IDisposable { //Local private String constring = ConfigurationManager.ConnectionStrings["LocalMySQLServer"].ConnectionString; protected internal MySqlConnection conn = new MySqlConnection(); private Boolean disposed = false; //To detect redundant calls public Connectie() { conn.ConnectionString = constring; } protected internal void openConnectie() { try { conn.Open(); } catch (MySqlException ex) { Console.Write(ex.Message); } } protected virtual void Dispose(Boolean disposing) { if (!disposed) { if (disposing) { if (conn != null) { conn.Dispose(); } } disposed = true; } } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } } } |
En in de CS file van mijn test pagina, bij page_load doe ik het volgende:
C#:
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
40
41
| using System; using System.Collections.Generic; using System.Text; using System.Web.UI; using System.Configuration; using MySql.Data.MySqlClient; using ClassLibrary.DB; namespace ClassLibrary.Pages { public partial class Testing:Page { protected internal void Page_Load(object sender, EventArgs e) { //Local try { using (Connectie conn = new Connectie()) { using (MySqlCommand cmd = new MySqlCommand()) { cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "INSERT INTO TblLogs (Comment) VALUES (@Message);"; cmd.Parameters.AddWithValue("@Message", MySqlDbType.VarChar).Value = "Test"; conn.openConnectie(); cmd.Connection = conn.conn; int result = cmd.ExecuteNonQuery(); } } } catch (FormatException ex) { throw; } } } } |
Wanneer hij aan de regel 'cmd.executenonquery()' komt, springt hij bij het debuggen hierna naar de disposing functie van mijn class. Wanneer hij alles gedisposed heeft springt hij naar de Catch van bovenstaande code en geeft me de melding: Input string was not in a correct format...
Maar volgens mij staat er in de parameter toch wel degelijk een string? van het type 'varchar' ?
Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.