Insert i MySQL database
Jeg har et windows form program som skriver i en MySql DB, men jeg bliver ved med at få fejlen at RaidID ikke må være null.Jeg kan sagten læse fra databasen. Den kode jeg bruger til inser er som følger
public bool insetRaidCommands()
{
try
{
MySql.Data.MySqlClient.MySqlParameter pRaidID = new MySql.Data.MySqlClient.MySqlParameter();
pRaidID.ParameterName = "@pRaidID";
pRaidID.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.Int16;
MySql.Data.MySqlClient.MySqlParameter pRaidCommand = new MySql.Data.MySqlClient.MySqlParameter();
pRaidCommand.ParameterName = "@pRaidCommand";
pRaidCommand.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.String;
MySql.Data.MySqlClient.MySqlParameter pTid = new MySql.Data.MySqlClient.MySqlParameter();
pTid.ParameterName = "@pTid";
pTid.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.Datetime;
MySql.Data.MySqlClient.MySqlParameter pTekst = new MySql.Data.MySqlClient.MySqlParameter();
pTekst.ParameterName = "@pTekst";
pTekst.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.String;
foreach(ParserCommand pc in pr.Commands)
{
// p1.Value = this.pr.RaidID;
pRaidID.Value = 1;
pRaidCommand.Value = pc.Command;
pTid.Value = pc.CommandTime;
pTekst.Value = pc.CommandRest;
this.dbConnect();
Sqlcommand = new MySqlCommand();
sqlcommand = this.Mysqlconn.CreateCommand();
Sqlcommand.Parameters.Add(pRaidID);
Sqlcommand.Parameters.Add(pRaidCommand);
Sqlcommand.Parameters.Add(pTid);
Sqlcommand.Parameters.Add(pTekst);
Sqlcommand.CommandText = "insert into raidhistory(RaidID,RaidCommando,Tid,Tekst) values (@pRaidID,@pRaidCommando,@pTid,@pTekst)";
Sqlcommand.ExecuteNonQuery();
}
this.dbClose();
return true;
}
catch(MySqlException e)
{
MessageBox.Show("SQL Error " + e.Number + " : " + e.Message);
this.dbClose();
return false;
}
}
