Soran
C# Sql veritabanımdan datagridview'e çektiğim veri 2. satıra eklenmiyor aynı satırı güncelliyor alt alta eklemesini nasıl yaparım

Soru
-
Merhaba hazırlamaya çalıştığım programda datagridview'e tek tek veri çekmek istiyorum veriyi her çektiğimde ilk satıra yazıyor ilk satır doluysada ikinci satıra eklemiyor ilk satırın üstüne yazıyor kodlarım ektedir .
int barkod = Convert.ToInt32(textBox2.Text); SqlDataAdapter da = new SqlDataAdapter("select urun_barkod,urun_adi,urun_fiyati from Urun where urun_barkod='"+barkod+"'", con); DataSet ds = new DataSet(); DataTable dt = new DataTable(); con.Open(); da.Fill(dt); dataGridView1.DataSource = dt; con.Close();
- Taşıyan Yusuf MutluModerator 26 Eylül 2022 Pazartesi 09:50 more accurate
Tüm Yanıtlar
-
Sizin kodunuz, düzenli olarak yeni bir DataSource veriyor. Bu yüzden sadece son gelen sonuçları görüyorsunuz. DataTable'ın merge metodu var, aynı kolonlara sahip başka bir datatable geldiğinde birleştirebiliyorsunuz.
private const string connectionString = "Trusted_Connection=True; Persist Security Info=True;Initial Catalog=sample; Data Source=.;Pooling=true;"; private void button1_Click(object sender, EventArgs e) { using (var scon = new SqlConnection(connectionString)) { using (var scom = scon.CreateCommand()) { scom.CommandType = CommandType.Text; scom.CommandText = "select * from [User] where Barkod=@Barkod;"; int barkod = 1; scom.Parameters.Add("@Barkod", SqlDbType.Int).Value = barkod; scon.Open(); DataTable dt = new DataTable(); new SqlDataAdapter(scom).Fill(dt); if (dataGridView1.DataSource is null) { dataGridView1.DataSource = dt; } else { (dataGridView1.DataSource as DataTable).Merge(dt); } } } }
Yaptığım şey, daha önce source ataması yapılmadıysa doğrudan source olarak göstermek, source varsa merge etmek.
Not: Db bağlantılarını using içerisinde yapın ve + ile query oluşturmayın. Bunun yerine parametre olarak ekleyin.
Not 2: sorguyu kendinize göre düzenlemeniz gerekiyor.
Not 3: Yusuf Bey bu soru Sql Server Forumuna atılmayacaktır...Altan Özdemir
- Yanıt Olarak Öneren CetinBasoz_Dont Trust Microsoft 26 Eylül 2022 Pazartesi 15:24
-
Not 3: Yusuf Bey bu soru Sql Server Forumuna atılmayacaktır...
Altan Özdemir
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz. -