レシピに成分を追加したい。私はそれをするために多くのことを試みましたが、それは悲しいことには働きませんでした。 アイデア:http://prntscr.com/dw8lom 私のデータベーステーブル:http://prntscr.com/dw8ms7C#データベースを持つリストボックスのレシピに成分をバインドしたい
私はレシピを追加するために使用しましたマイコード:
private void VoegReceptenToe()
{
string query = "INSERT INTO Recipe VALUES (@RecipeName, 30, 'goed mixen')";
using (connection = new SqlConnection(connectionstring))
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
command.Parameters.AddWithValue("@RecipeName", txtRecipeName.Text);
command.ExecuteScalar();
PopulateRecipes();
}
}
移入レシピ:
{
string query = "SELECT a.Name FROM Ingredient a " +
"INNER JOIN Recipe_Ingredient b ON a.Id = b.IngredientId " +
"WHERE b.RecipeId = @RecipeId";
// de connectionstring hoef je niet te openen en te sluiten als,
// je een using statement gebruikt, dat doet hij vanzelf.
using (connection = new SqlConnection(connectionstring))
using (SqlCommand command = new SqlCommand(query,connection))
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
command.Parameters.AddWithValue("@RecipeId", lstRecipe.SelectedValue);
DataTable ingredientTable = new DataTable();
adapter.Fill(ingredientTable);
//Dit displayt de listbox.
lstIngredient.DisplayMember = "Name";
lstIngredient.ValueMember = "id";
lstIngredient.DataSource = ingredientTable;
}
}
「うまくいかない」とはどういう意味ですか?あなたのコードの問題は何ですか?レシピをデータベースに挿入しませんか?例外をスローしますか? – Pikoh
返信ありがとうございました。 それはうまくいきませんでした。私は次のコードを試しました: プライベートvoid VoegIngredientenToe() { string query = "INSERT INTO Ingredient VALUES(@IngredientName)"; (SqlCommandコマンド=新しいSqlCommand(クエリ、接続)) { connection.Open();を使用して、 を使用して(接続=新しいSqlConnection(接続文字列)) を使用します。 command.Parameters.AddWithValue( "@ IngredientName"、textBox1.Text); コマンドExecuteScalar(); PopulateRecipes(); } } – overflowit
@PaulF新しいレシピに成分を追加することはできません。例えば、レシピ: "nieuwtest"私はテキストボックスの値を使って作成し、その値をlistbox1に挿入します。しかし、私は材料のためにそれを行うことはできませんし、新しい "レシピ"に追加します。 – overflowit