Forum
Merhaba Arkadaşlar;
Database'de ölçüler diye bir tablo var ve bu tabloda 20 adet ölçü birimi var (En, boy,çap vs. gibi) . Programa 4 adet combobox ve bu comboboxların yanına textbox ekledim. Yapmak istediğim bu comboboxlar'da uzunluğu seçtiğimde yanındaki textbox'a ilgili ölçüyü girip kaydet dediğimde o ölçüyü örneğin boy ölçüsüyse databasedeki boy alanına çap ise çap'a kaydetsin. Aşağıdaki gibi ölçü boysa boy alanına kaydet diyebiliyorum fakat böyle yaparsam else if deyip 20 satır alt alta yazmam gerekli 4 adet combobox olduğu için 80 satır yazmam gerekli. Bunun kısa bir yolu nasıldır acaba?
Teşekkür ederim.
if (secilencombobox.ToString() == "boy")
{
cmd.Parameters.AddWithValue("@boy", decimal.Parse(textBoxSkOlcu1.Text.Replace(".",",")));
}
İnteraktif sql cümlesi oluşturmak için StringBuilder sınıfını incelemeniz faydalı olacaktır (bknz: https://docs.microsoft.com/tr-tr/dotnet/standard/base-types/stringbuilder). Fikir vermesi açısından aşağıdakine benzer bir yapıyı projenze uygun geliştirebilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
SqlCommand _sql = new SqlCommand();
_sql.CommandText = "INSERT INTO blabla (col1,col2) VALUES (@col1, @col2)";
AddSqlParameter(_sql, "col1", "col1_value");
AddSqlParameter(_sql, "col2", "col2_value");
}
private void AddSqlParameter(SqlCommand Sql, string ColumnName, object Value)
{
Sql.Parameters.AddWithValue(string.Format("@{0}", ColumnName), Value);
}