sawMedlem sedan mars 20011 880 inlägg Jag har grunnat och funderat samt letat, men jag hittar inga svar, så jag måste fråga proffsen. (DB=MySql)
I tabellen t_songtitlar har jag ett fält ArrNå(text, kanske fel datatyp men det var mest för formateringens skull).
Där har jag t ex:
001
002
004
006 osv.
Problemet gäller, hur hittar jag de AnnNo som inte finns, i detta fallet 003 och 005 samt nästa ArrNo här 007.
SELECT Max(arrno)+1 AS MaxArr FROM t_songtitlar WHERE t_songtitlar.ArrNo< '900'
//här får jag inte fram de som jag har missat
Det känns som om det skulle vara ganska så simpelt, men jag får inte till det alls. :(
Tacksam för hjälp :stud
sawMedlem sedan mars 20011 880 inlägg Jag gjorde ett nytt försök..
SELECT ArrNo FROM t_songtitlar WHERE ArrNo Not In(SELECT ArrNo FROM t_songtitlar);
Inga erro men inte heller något resultat :(
sawMedlem sedan mars 20011 880 inlägg Jag kom inte på något annat sätt, än att köra med en array och sedan plocka bort de verkliga ArrNo.
sql = "SELECT arrno FROM t_songtitlar where arrno < 900 ORDER BY arrno";
DataSet ds = Webbutill.fillDs(DBConn, sql, "arrreg");
sql = "SELECT Max(ArrNo)+1 AS MaxArr FROM t_songtitlar WHERE t_songtitlar.ArrNo< '900' ";
DataSet nyttDs = Webbutill.fillDs(DBConn, sql, "Maxarrreg");
int sluta = Convert.ToInt32(nyttDs.Tables["Maxarrreg"].Rows[0]["MaxArr"]);
int i, a, borga;
int rader = ds.Tables["arrreg"].Rows.Count;
nr = new string[rader];
for (borga = 0; borga < sluta; borga++)
{
i = borga + 1;
ddNextId.Items.Add(i.ToString("000"));
}
for (a = 0; a < rader; a++)
{
ddNextId.Items.Remove(ds.Tables["arrreg"].Rows[a]["arrno"].ToString());
}
Nu fungerar detta bra. :P