SQL命令c#中的查询字符串

Osh*_*rib 6 c# sql asp.net query-string

首先..请原谅我的英语不好,我希望能被理解.

我很高兴与LINQ合作,SQL对我来说是新的.

我正在尝试做下一件事:我在c#上有下一个方法:

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; 
}
Run Code Online (Sandbox Code Playgroud)

我有页面例如: items.aspx?nID=144

我怎么能这样做SELECT命令将使用查询字符串,这将取值

来自"items"表的地址上显示的id(nID)?

该表的设计例如:id, title, bla, main.

p.c*_*ell 6

尝试这样的事情:

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;
   }
 }
Run Code Online (Sandbox Code Playgroud)


Dan*_*npe 5

试试这个:

注意(Request.QueryString["nID"] ?? "0").ToString()它真的很重要,所以当没有查询时你不会得到异常.

    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 id=@ID"; //@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;
    }
Run Code Online (Sandbox Code Playgroud)