2011-07-03 29 views
6

Her şeyden önce .. Kötü İngilizce'mden dolayı özür dilerim, anlaşılmayı umuyorum.SQL komutunda sorgu dizesi C#

LINQ ile çalışmak için regullar yapıyorum, SQL benim için yeni.

i bir sonraki şeyi yapmaya çalışıyorum:

public string niceMethod() 
{ 
    SqlConnection connection = new SqlConnection("Data Source=*******;Integrated Security=False;"); 
    string commandtext = "SELECT bla FROM items WHERE main = 1"; 
    SqlCommand command = new SqlCommand(commandtext, connection); 
    connection.Open(); 
    string tDate = (string)command.ExecuteScalar(); 
    connection.Close(); 
    return tDate; 
} 

Ben mesela sayfam var: items.aspx?nID=144

i nasıl yapabilirim SEÇ komutu olacağını ben C# sonraki yöntemine sahip querystring ile ve

değerini "items" tablosundan adreste görünen id (nID) değerine mi atacaksınız? id, title, bla, main.

+0

Neden bazı ORM kullanmıyorsunuz? Daha sonra LINQ kullanabilirsiniz. – svick

cevap

6

böyle bir şey deneyin:

int nID = int.Parse(Request.QueryString["nID"].ToString()); 
niceMethod(nID); 

public string niceMethod(int nID) 
{ 
    using (var conn = new SqlConnection("Data Source=server;Initial Catalog=blah;Integrated Security=False;")) 
    using (var cmd = conn.CreateCommand()) 
    { 
     conn.Open(); 
     cmd.CommandText = @"SELECT bla, id, title FROM items WHERE main = @nID"; 
     cmd.Parameters.AddWithValue("@nID", nID); 
     string tDate = cmd.ExecuteScalar().ToString();    
     return tDate; 
    } 
} 
5

bu deneyin: (Request.QueryString["nID"] ?? "0").ToString() için

dikkat edin alışkanlık zaman istisna almak böylece gerçekten importent var

tablo örneğin bir tasarıma sahip sorgu yok.

public string niceMethod() 
    { 
     string tDate = ""; 
     string ID = (Request.QueryString["nID"] ?? "0").ToString(); // Get's the nID query, incase there is no query, returns 0. 
     using (SqlConnection connection = new SqlConnection("Data Source=*******;Integrated Security=False;")) 
     { 
      string commandtext = "SELECT bla FROM items WHERE [email protected]"; //@ID Is a parameter 
      SqlCommand command = new SqlCommand(commandtext, connection); 
      command.Parameters.AddWithValue("@ID", ID); //Adds the ID we got before to the SQL command 
      connection.Open(); 
      tDate = (string)command.ExecuteScalar(); 
     } //Connection will automaticly get Closed becuase of "using"; 
     return tDate; 
    }