I\'m trying to return a single row from a database:
using (connection = new SqlConnection(ConfigurationManager.AppSettings[\"connection\"]))
{
using (command
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;
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();
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"])
.
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
.