Forum
Merhaba
sql server da int tipinde olan veriye c# form üzerinden nasıl string tipte değer verebilirim.
mesela
sql server ilişkili sütunlarım var. örneğin odalar tablom ve oda durumu tablom var. oda durumu tablosundaki odaDurumID birincil anahtar. Bu birincil anahtarı odalar tablosundaki odaDurum alanı ile ilişkilendirdim.
c# üzerinde ise iki adet combobox var. birinde oda durumları ( boş , dolu diye yazıyor ) . şimdi buradaki değer string tipte olduğu için hata veriyor.
bu sorunu nasıl çözebilirim?
kod blogunu atarsanız yardımcı olabilirim
C# kodları
SqlCommand cmd= new SqlCommand("OdaEkle", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@odaNo", txtOdaNo.Text);
cmd.Parameters.AddWithValue("@odaDurum", cbOdaDurum.Text); combobox1
cmd.Parameters.AddWithValue("@odaTipi", cbOdaTipi.Text); combobox2
SQL Server kodları
CREATE PROCEDURE sp_OdaEkle
@odaNo int,
@odaDurum nvarchar(10),
@odaTipi nvarchar(20)
AS
BEGIN
INSERT INTO ODALAR(odaNo,odaDurumID,odaTipID) VALUES (@odaNo,@odaDurum,@odaTipi)
END
kodları bu şekilde.
cmd.Parameters.AddWithValue("@odaTipi", Convert.ToInt32(cbOdaTipi.Text));
veya
int odatipi = Convert.ToInt32(cbOdaTipi.Text);
cmd.Parameters.AddWithValue("@odaTipi", odatipi);
Öyle denedim ama hata veriyor.
istersen teamviewer gibi birşeyden bağlanıp bi bakayım tam anlamadım çünkü..
combobox kullanıosan neden text'ini alıyorsun ? ya selected value yada selectedindex alman lazım ya ben anlamadım ya siz anlatamadınız.. 🙂
DbType özelliği vardı C#'ın.
AddWithValue ile verilen parametre yerine Add kullanın. Sanırım onu soruyordunuz?
Hocam int mi string olacak yoksa string mi int olacak?
Siz int to string demişsiniz ama verilen cevaplar string to int ?
Verileri dbye yazarken string to int mi yapmak istiyorsunuz yoksa dbden çekerken int to string mi ?
Ayrıca Gökhan Bayındır'ın dediği gibi combo kullanıyorsanız text alınmaz ya selectedvalue alınır ya selectedindex alınır.
odadurum değerini neden farklı bir tablo yaptınız anlamadım ama.
Bence bu ikisini birleştirmekle hiç uğraşmayın odalar tablosundaki odadurum sütununu direk text yapın comboboxtan selectedvalue değerini çekin oraya.