2012-02-19 19 views
6

Ben kod cadı bir SQL Server Express veritabanı bağlanır ve bir tablo "dizüstü"uygun şekilde <ul> <li>SQL Server Express @ localhost</li> <li>kullanıcı adı veritabanı</li> <li>ve şifre testdatabase</li> </ul> <p>bunu yapmanın doğru yolu nedir nedir?</p>

içine birkaç değişken ekler örnek bir C# (konsol uygulaması) ihtiyaç SQL Server Express veritabanına bağlantı ve sorgu yapmak için
+2

sen denedi [google] (http://www.google.com)? – Shai

+0

Hiç bir şey denediniz mi? hiçbir yere bakma ADO.NET LINQ veya bunun gibi bir şey duydun mu? – atoMerz

+0

evet, seçeneklerin hepsini buldum ama söylediğim gibi. Doğru yolun ne olduğuna dair onayına ihtiyacım var. – Axxess

cevap

11

Temel ADO.NET 101:

  • yürütmek bir şey bu komutu
  • yapmak için bir komut kurmak bağlantı kurmak

Adım 1: Bir bağlantı

kurma

Veritabanınıza bağlantı dizesini bilmeniz gerekir. Örnekler için ton için http://www.connectionstrings.com'a bakın. Senin durumunda

, bunu yerel bir SQL Server Express örneği derler - ama ne yazık ki, bağlantı dize olacaktır ..... senin veritabanı ne denir bahsetmedi gibi bir şey:

server=(local)\SQLEXPRESS;database=YourDatabaseName;user id=database;pwd=testdatabase 

Adım 2: çeşitli komutlar olabilir bir komut

kurma - veri seçimiyle o silmek veya veri eklemek için. Ne yaparsanız yapın - SQL enjeksiyonu önlemek için her zaman parametrized sorguları kullanmanızı öneririm.

Yani burada kod aşağıdaki gibi görünecektir:

string connectionString = "server=(local)\SQLEXPRESS;database=YourDatabaseName;user id=database;pwd=testdatabase"; 

string insertStmt = "INSERT INTO dbo.Laptops(Name, Model, ScreenSize) " + 
        "VALUES(@Name, @Model, @Screensize)"; 

using(SqlConnection conn = new SqlConnection(connectionString)) 
using(SqlCommand cmd = new SqlCommand(insertStmt, conn)) 
{ 
    // set up the command's parameters 
    cmd.Parameters.Add("@Name", SqlDbType.VarChar, 100).Value = "ASUS SX30"; 
    cmd.Parameters.Add("@Model", SqlDbType.VarChar, 50).Value = "Ultralight"; 
    cmd.Parameters.Add("@Screensize", SqlDbType.Int).Value = 15; 

    // open connection, execute command, close connection 
    conn.Open(); 
    int result = cmd.ExecuteNonQuery(); 
    conn.Close(); 
} 
İlgili konular