MySqlCommand etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MySqlCommand etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

11 Aralık 2017 Pazartesi

MySqlCommand Sınıfı

Giriş
Bu sınıf DBCommand nesnesinden kalıtır.

using ile Kullanım
Örnek
Şöyle yaparız
try
{
  string mysqlQuery = "SELECT COUNT(*) FROM t WHERE foo=18 AND bar=99";

  using (MySqlConnection connection = new MySqlConnection(connectionString))
  {
    connection.Open();
    using (MySqlCommand command = new MySqlCommand(mysqlQuery, connection))
    {
      command.CommandTimeout = 80;
      command.ExecuteNonQuery();
      ...      
    }
  }
}
catch (Exception e)
{
  ...
}

Constructor
Şöyle yaparız. Daha sonra CommandText alanına bir sql cümlesi atamak gerekir.
MySqlCommand cmd = con.CreateCommand();
Constructor - Update cümlesi + Connection
Şöyle yaparız. Belirtilen cümle CommandText alanına atanır. SQL Injection olmaması için parametreli kullanım tercih edilmeli.
MySqlCommand cmd = new MySqlCommand("UPDATE a SET Name=@Name WHERE ID =@id", con);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@id", txtIndex.Text);
CommandText Alanı
Bu kullanım şeklinde SQL Injection'a dikkat edilmeli. SQL Injection olmaması için parametreli kullanım tercih edilmeli. Şöyle yaparız.
cmd.CommandText = "SELECT ...";
ExecuteNonQuery metodu
Açıklaması şöyle
You can use the ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database without using a DataSet by executing UPDATE, INSERT, or DELETE statements.
Insert,Update, Delete gibi işlermler için kullanılır.
Örnek
Şöyle yaparız.
cmd.ExecuteNonQuery();
Örnek
Şöyle yaparız.
using (var conn = new MySqlConnection(connectionString))
{
  conn.Open();
  string sql = "INSERT INTO tbl(qty) VALUES('12')";
  using (MySqlCommand cmd = new MySqlCommand(sql, conn))
  {
    cmd.ExecuteNonQuery();
  }
}
ExecuteReader metodu
Select cümlesi ile şöyle yaparız.
var reader = cmd.ExecuteReader();
while (reader.Read())
{
  ...
}
ExecuteScalar metodu
Şöyle yaparız.
object ipAddress= cmd.ExecuteScalar();
if (ipAddress!= null) 
  textBoxIPAddress.Text = ipAddress.ToString();
else
  textBoxIPAddress.Text = "No data found";
Şöyle yaparız.
int i = (Int32)cmd.ExecuteScalar();