Zdravím, Používám Visual Studio 2008 a SQL Server 2005. Můj problém je ohledně dotazu na databázi, aby mi podle určitých paramertů vypsal určitá data. Jde o to, že uživatel si vybere podle čeho hledat (sloupec v DB) a následovně zadá hodnotu kterou hledat Takže zadá v jakým sloupci (řešeno přes radiobutton) a jakou hodnotu (textBox, comboBox, atd.) Pokud klidnu na button hledat, neudělá to nic, nenajde určenou hodnotu a když sem si ty hodnoty, které chci hledat, vypsal do labelu, tak se hodnoty ukázaly, takže bude někde problém v komunikaci s DB. zde je kod:
i = 0;
SqlConnection sqlConnection = new SqlConnection(Connectionstring); // inicializace objektu spojení na databázi
sqlConnection.Open(); // pomocí dat z ConnectionStringu spojení otevřeme
SqlCommand sqlCommand = new SqlCommand("SELECT [Nazev] FROM [Films] WHERE @sloupec = @hodnota", sqlConnection); // vytvoření dotazu a předání připojení
sqlCommand.Parameters.AddWithValue("@sloupec", hledat);
sqlCommand.Parameters.AddWithValue("@hodnota", dotaz);
// sqlCommand.Parameters.AddWithValue("@zaznam", zaznam); // přidat parametr do dotazu
SqlDataReader dataReader = sqlCommand.ExecuteReader(); // spuštění dotazu a vytvoření objektu na čtení řádků
// smyčka na čtení záznamů
while (dataReader.Read()) // posun na další řádky, dokud jsou k dispozici
{
listBox1.Items.Add(i);
listBox1.Items[i] = dataReader["Nazev"];
i++;
}
dataReader.Close(); // nejdříve uzavřeme aktuální dotaz
sqlConnection.Close(); // a pak i spojení
|