C# MySqlParameter problem
10,364
I haven't used MySql for about 6 months (thankfully migrated off to Sql Server) but, try changing your @ symbols for ?'s, as if memory serves, that's the correct convention with MySql, so:
MySqlCommand cmdAdd = new MySqlCommand(
"INSERT INTO Faults (FaultGroup, Text, Date, IP)"
+ " VALUES (?FaultGroup, ?Text, ?Date, ?IP)",
conn);
MySqlParameter paramFaultGroup = new MySqlParameter("?FaultGroup", MySqlDbType.Int32);
FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup), myFault.FaultGroup);
paramFaultGroup.Value = (int) faultsGroup;
cmdAdd.Parameters.Add(paramFaultGroup);
cmdAdd.ExecuteNonQuery();
Author by
senzacionale
Updated on August 20, 2022Comments
-
senzacionale over 1 year
(int) faultsGroup is 0 or 1 but i always get this error: Column 'FaultGroup' cannot be null
Does anyone tell me why? Syntax looks ok.
MySqlCommand cmdAdd = new MySqlCommand("INSERT INTO Faults (" + " FaultGroup, Text, Date, IP" + ") VALUES (" + " @FaultGroup, @Text, @Date, @IP" + ")", conn); MySqlParameter paramFaultGroup = new MySqlParameter("@FaultGroup", MySqlDbType.Int32); FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup), myFault.FaultGroup); paramFaultGroup.Value = (int) faultsGroup; cmdAdd.Parameters.Add(paramFaultGroup); cmdAdd.ExecuteNonQuery();
-
Michael Todd about 14 yearsActually, the '@' symbol works fine, at least for the MySQL ADO.Net connector (which I assume the OP is using).
-
senzacionale about 14 yearsproblem was in version of ado.net connector. i was using 5.1.7 now i am using v6. Thx all for help
-
kbvishnu almost 13 yearshow can i know about the version ?