Aslında Asp.NET ile hiç alakam yok ama çok basit bir proje var önümde.
Veritabanım var ve ben bu veritabanına bağlanıp sadece bir alanı yazdırmak istiyorum ve bunu tek bir dosya içerisinde (default.aspx) halinde yapmak istiyorum. Nasıl yapabilirim?
Veritabanına bağlanmak ve veri çekmek?
6
●208
- 02-08-2018, 17:49:17Üyeliği durdurulduarkadaşın kullandığı veritabanı mSSQL miş. mysql değil.Engin.ilicali adlı üyeden alıntı: mesajı görüntüle
- 02-08-2018, 17:59:41Baplantı Kodu:
SqlConnection baglan = new SqlConnection("Server=Server;DataBase=VeritabanıA dı;uid=sa;password=sfire;");
if(baglan.State!=ConnectionState.Open)
{baglan.Open();}
SqlCommand komutEkleme=new SqlCommand("insert into tabloAdı (ColunIsmı) Values (@clnIsmi)",baglan);
komutEkleme.Parameters.AddWithValue("@clnIsmi",ekl enecek);
komutEkleme.ExecuteNonQuery();
baglan.Close();
baglan.Disponse(); - 05-08-2018, 03:45:35Merhabalar.
Çok basit bir şekilde, temelde veritabanı işlemleri yapabileceğiniz bir C# sınıf yazıyorum buraya. Arama motorlarından buraya gelen ziyaretçiler için de faydalı olur umarım.
Veritabanı MS SQL Server için geçerlidir.
Öncelikle küçük ancak önemli bir teknik açıklama yapmak istiyorum.
using ifadesi Dispose ve Close methodlarını otomatik çağırır ve nesneyi null yapar.
SqlConnection, SqlCommand gibi sınıflar, C++ ile yazılmış unmanaget (.NET içinde yönetilmeyen) Win32 API dll kullanırlar.
Bu harici dll'lerin işi bittiğinde, muhakkak, kapatılması hafızadan silinmesi gerek.
Windows işletim sistemi pencerelerden ibarettir.Bu pencereleri açmak için kol (Handle) gerekiyor.
Veritabanı, dosya sitemi, register gibi bir çok işlemde, C# kodumuz windows kollarını açar ve açılan pencere kapatılmazsa bir süre sonra uygulama aşırı RAM ve CPU tüketir.
Sağlıklı bir uygulama için IDisposable arayüzünü uygulayan tüm .NET nesnelerinde using kullanın.
DataBase.cs dosyası
public sealed class DataBase { // Buradaki ilgili yerlere veritabanı erişim bilgilerini yazın public static string ConnectionString = "Data Source=localhost;Initial Catalog=dbadi;User ID=dbkullanici;Password=sifre;"; public static int Execute(string sqlQuery, System.Data.CommandType cmdType = CommandType.Text, params SqlParameter[] parameters) { if (string.IsNullOrEmpty(sqlQuery)) { throw new ArgumentNullException("sqlQuery"); } using (SqlConnection con = new SqlConnection(ConnectionString)) using (SqlCommand cmd = con.CreateCommand()) { con.Open(); cmd.CommandText = sqlQuery; cmd.CommandType = cmdType; if (parameters != null && parameters.Length > 0) { cmd.Parameters.AddRange(parameters); } return cmd.ExecuteNonQuery(); } } public static DataTable Read(string sqlQuery, System.Data.CommandType cmdType = CommandType.Text, params SqlParameter[] parameters) { if (string.IsNullOrEmpty(sqlQuery)) { throw new ArgumentNullException("sqlQuery"); } using (SqlConnection con = new SqlConnection(ConnectionString)) using (SqlCommand cmd = con.CreateCommand()) { con.Open(); cmd.CommandText = sqlQuery; cmd.CommandType = cmdType; if (parameters != null && parameters.Length > 0) { cmd.Parameters.AddRange(parameters); } DataTable dt = null; using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) { dt = new DataTable(); dt.Load(reader); } } return dt; } } }Kullanım örnekleri :
// Sql Parametreler List içinde List<SqlParameter> sqlParams = new List<SqlParameter>(); sqlParams.Add(new SqlParameter("@Paket", 1)); sqlParams.Add(new SqlParameter("@Tarih", DateTime.Now)); sqlParams.Add(new SqlParameter("@UyeID", 96)); // Parametreli 1.Yöntem // insert,update,delete için kullanılır DataBase.Execute("UPDATE Uyeler SET PaketiBitti=@Paket, SonGirisTarihi=@Tarih WHERE id=@UyeID", CommandType.Text, sqlParams.ToArray()); // Parametreli 2.Yöntem // insert,update,delete için kullanılır DataBase.Execute( "UPDATE Uyeler SET PaketiBitti=@PaketiBitti, SonGirisTarihi=@SonGirisTarihi WHERE id=@UyeID", CommandType.Text, new SqlParameter("@PaketiBitti", 1), new SqlParameter("@SonGirisTarihi", DateTime.Now), new SqlParameter("@UyeID", 96) ); // Parametresiz // insert,update,delete için kullanılır int uyeid = 1; DataBase.Execute("UPDATE Uyeler SET PaketiBitti=1 WHERE id=" + uyeid); // Parametreli Veri çekme DataTable parametreli = DataBase.Read( "SELECT id,adi,soyadi FROM Uyeler where adi=@adi", CommandType.Text, new SqlParameter("@adi", "şener akdemir") ); // Parametresiz Veri çekme DataTable dt = DataBase.Read("SELECT id,adi,soyadi FROM Uyeler"); if (dt == null) { throw new Exception("Kayıt yok!"); } foreach (DataRow item in dt.Rows) { Console.WriteLine(item["adi"]); }
