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();


Hiç yorum yok:

Yorum Gönder