lave insert med select til mysql fra c#
Normalt ville man lave et insert i en base således:MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
con.Open();
MySqlCommand cre = new MySqlCommand("CREATE TABLE pics (id INTEGER PRIMARY KEY, pic MEDIUMBLOB)", con);
cre.ExecuteNonQuery();
MySqlCommand ins = new MySqlCommand("INSERT INTO pics VALUES (@id, @pic)", con);
ins.Parameters.Add("@id", MySqlDbType.Int);
ins.Parameters.Add("@pic", MySqlDbType.MediumBlob);
for(int i = 0; i < npics; i++)
{
ins.Parameters["@id"].Value = i;
byte[] data = new Byte[picsize];
for(int j = 0; j < picsize; j++)
{
data[j] = (byte)((i + j) % 256);
}
ins.Parameters["@pic"].Value = data;
ins.ExecuteNonQuery();
}
con.Close();
---------
problemet liggger nu i, at jeg i det projekt jeg arbejder med, har det databaserækkerne repræsenteret som objekter i hukommelsen. de ligger her sorteret i en liste på objekternes id (som svarer til primærnøglen i basen) ... Når objekterne bliver kastet ned i basen får de automatisk tildelt en primærnøgle hvis de ikke har nogen med, da kolonnen er sat til AUTO_INCREMENT NOT NULL. ...
problemet ligger i at jeg har brug for nøglen til at sortere mine objekter efter. kan det klares med et database kald at indsætte og få nøglen tilbage?
