Avatar billede frostholm Praktikant
20. marts 2006 - 22:22 Der er 3 kommentarer og
1 løsning

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;
            }
        }
Avatar billede arne_v Ekspert
20. marts 2006 - 22:35 #1
proev og erstat alle  med ?

altsaa erstat @pRaidID med ?pRaidID etc.
Avatar billede frostholm Praktikant
20. marts 2006 - 22:49 #2
tak arne, hvis du svare skal du få dine point
Avatar billede arne_v Ekspert
20. marts 2006 - 22:56 #3
OK

jeg har altid vaeret lidt mystificeret over det, fordi nogen gange har det
altsaa virket med @ og MySQL mens andre gange ikke

(en eller anden irriterende forskel paa connector versioner ??)

men der er kun 3 mulige tegn: @, ? og : (Oracle bruger :)
Avatar billede frostholm Praktikant
20. marts 2006 - 22:59 #4
havde selv prøvet med ? men det virkede ikke, men nu virker det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Netcompany A/S

Test Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

Capgemini Danmark A/S

IGNITE Graduate Program 2026