Fejl ved variabel i select statement Fortsat
Jeg troede, jeg forstod det....men gør jeg åbenbart ikke....fortsat fra: http://www.eksperten.dk/spm/777951
Jeg har forsøgt mig med nedennævnte kode: The name 'seekstring2' does not exist in the current context (det samme med 3-8)
Så har jeg sat følgende kode ind i toppen:
string seekstring2 = seekstring;
string seekstring3 = seekstring;
string seekstring4 = seekstring;
string seekstring5 = seekstring;
string seekstring6 = seekstring;
string seekstring7 = seekstring;
string seekstring8 = seekstring;
Men får så en Type mitmatch.....
Hvad går der galt? *deseperat*
Min kode:
public Status GetSeekSimpelSortNameMine(string seekstring, int BrugerId, ref DataTable SeekSimpel)
{
Status status = Status.Failure;
DataRow r = null;
DataTable AItems = new DataTable();
string seekstring2 = seekstring;
string seekstring3 = seekstring;
string seekstring4 = seekstring;
string seekstring5 = seekstring;
string seekstring6 = seekstring;
string seekstring7 = seekstring;
string seekstring8 = seekstring;
try
{
AItems.Columns.Add(new DataColumn("OpskriftId", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("OpskriftNavn", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Ingredienser", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Fremgangsmaade", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Servering", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Points", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Dato", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Print", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("BrugerNavn", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("KategoriNavn", Type.GetType("System.String")));
command.CommandText = "SELECT Opskrift.OpskriftId, Opskrift.OpskriftNavn, Opskrift.KategoriId, Opskrift.LandId, Opskrift.TemaId, Opskrift.MaaltidId, Opskrift.Tilberedningstid, Opskrift.BrugerId, Opskrift.Kilde, Opskrift.PortionStk, Opskrift.Protein, Opskrift.Fedt, Opskrift.Kulhydrat, Opskrift.Pris, Opskrift.BilledeNavn, Opskrift.Ingredienser, Opskrift.Fremgangsmaade, Opskrift.Servering, Opskrift.Fedtfattig, Opskrift.AntalVisninger, Opskrift.Offentlig, Opskrift.Dato, Opskrift.Print, Opskrift.Points, Opskrift.AntalPersonerAfgivetPoints, Bruger.BrugerNavn, Kategori.KategoriNavn FROM (Kategori INNER JOIN Opskrift ON Kategori.KategoriId=Opskrift.KategoriId) INNER JOIN Bruger ON Opskrift.BrugerId=Bruger.BrugerId WHERE (((Opskrift.BrugerId) = @BrugerId1)) AND (Opskrift.OpskriftNavn Like '%" + @seekstring + "%' OR Opskrift.Ingredienser Like '%" + @seekstring2 + "%' OR Opskrift.Fremgangsmaade Like '%" + @seekstring3 + "%' OR Opskrift.Servering Like '%" + @seekstring4 + "%') UNION SELECT Opskrift.OpskriftId, Opskrift.OpskriftNavn, Opskrift.KategoriId, Opskrift.LandId, Opskrift.TemaId, Opskrift.MaaltidId, Opskrift.Tilberedningstid, Opskrift.BrugerId AS Opskrift_BrugerId, Opskrift.Kilde, Opskrift.PortionStk, Opskrift.Protein, Opskrift.Fedt, Opskrift.Kulhydrat, Opskrift.Pris, Opskrift.BilledeNavn, Opskrift.Ingredienser, Opskrift.Fremgangsmaade, Opskrift.Servering, Opskrift.Fedtfattig, Opskrift.AntalVisninger, Opskrift.Offentlig, Opskrift.Dato, Opskrift.Print, Opskrift.Points, Opskrift.AntalPersonerAfgivetPoints, Bruger.BrugerNavn, Kategori.KategoriNavn FROM Bruger INNER JOIN (Kategori INNER JOIN (Opskrift INNER JOIN GemteOpskrifter ON Opskrift.OpskriftId = GemteOpskrifter.OpskriftId) ON Kategori.KategoriId = Opskrift.KategoriId) ON Bruger.BrugerId = GemteOpskrifter.BrugerId WHERE (((GemteOpskrifter.BrugerId)= @BrugerId2)) AND (Opskrift.OpskriftNavn Like '%" + @seekstring5 + "%' OR Opskrift.Ingredienser Like '%" + @seekstring6 + "%' OR Opskrift.Fremgangsmaade Like '%" + @seekstring7 + "%' OR Opskrift.Servering Like '%" + @seekstring8 + "%')";
command.Parameters.Clear();
//command.Parameters.Add(new OleDbParameter("@seekstring", seekstring));
command.Parameters.Add(new OleDbParameter("@BrugerId1", BrugerId));
command.Parameters.Add(new OleDbParameter("@seekstring", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring2", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring3", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring4", seekstring));
command.Parameters.Add(new OleDbParameter("@BrugerId2", BrugerId));
command.Parameters.Add(new OleDbParameter("@seekstring5", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring6", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring7", seekstring));
command.Parameters.Add(new OleDbParameter("@seekstring8", seekstring));
OleDbDataReader myReader = command.ExecuteReader();
//går gennem tabellen og lægger ind i rækker
while (myReader.Read())
{
r = AItems.NewRow();
try
{
r["OpskriftId"] = (myReader["OpskriftId"]);
r["OpskriftNavn"] = (myReader["OpskriftNavn"]);
r["Ingredienser"] = (myReader["Ingredienser"]);
r["Fremgangsmaade"] = (myReader["Fremgangsmaade"]);
r["Servering"] = (myReader["Servering"]);
r["Points"] = (myReader["Points"]);
r["Dato"] = (myReader["Dato"]);
r["Print"] = (myReader["Print"]);
r["BrugerNavn"] = (myReader["BrugerNavn"]);
r["KategoriNavn"] = (myReader["KategoriNavn"]);
}
catch
{ }
//Tilføjer rækken til datatable
AItems.Rows.Add(r);
}
myReader.Close();
SeekSimpel = AItems;
status = Status.Success;
}
catch
{ }
return status;
}
mvh
simsen