Returning a single row

前端 未结 10 1431
轻奢々
轻奢々 2021-02-13 06:55

I\'m trying to return a single row from a database:

using (connection = new SqlConnection(ConfigurationManager.AppSettings[\"connection\"]))
{
    using (command         


        
相关标签:
10条回答
  • 2021-02-13 07:41

    the reader returns object which you should cast it to what you need, in this case a string.

    you can use any of this codes :

    return reader.GetString(0);

    return reader["col_1"].ToString();

    return Convert.ToString(reader["col_1"]);

    return reader["col_1"] as string;

    but dont forget to close the connection and reader before leaving the function.

    string ret = reader.GetString(0);
    reader.Close();
    connection.Close();
    return ret;
    
    0 讨论(0)
  • 2021-02-13 07:43

    Follow the following steps to select a single colume, and display them.

        //create a connection
        SqlConnection sqlConnection = new SqlConnection("Your Connection String");
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = sqlConnection;
    
        //open the connection
        sqlConnection.Open();
    
        //Your command query string
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "SELECT TOP 1 col_name FROM Customers";
    
    
        //Execute the reader
        SqlDataReader result  = cmd.ExecuteReader();
        result.Read();
    
        //close the connection
        sqlConnection.Close();
    
        return result["coiumn_name"].ToString(); 
    
    0 讨论(0)
  • The problem is the return type. The method you are in is expecting you to return a string, but reader["col_1"] is an object. I suggest returning reader["col_1"].ToString() or Convert.ToString(reader["col_1"]).

    0 讨论(0)
  • 2021-02-13 07:45

    First of all you can use the cast (string)reader["col_1"]. You are probably expecting a string and reader["col_1"] is an object.

    0 讨论(0)
提交回复
热议问题