Search code examples
c#.netado.netoledb

Unreachable code detected


I'm getting a "Unreachable code detected" message in Visual Studio at the point con.close() in my code below. Can you spot what I've done wrong?

private int chek1(String insert)
{
    OleDbConnection con = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\\sdb.mdb");
    OleDbCommand com = new OleDbCommand("select count(*) from sn where sn='" + insert + "\'", con);           
    con.Open();

    int po = (int)com.ExecuteScalar();           
    if (po > 0)
        return 1;
    else
        return 0;
    con.Close();    
}

Solution

  • Your code could be like this:

    private int check(string sn)
    {
        using (OleDbConnection connection = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\\sdb.mdb"))
        using (OleDbCommand command = connection.CreateCommand())          
        {
            command.CommandText = "SELECT COUNT(*) FROM sn WHERE sn=?";
            command.Parameters.Add("@sn", sn));
            con.Open();               
            return ((int)com.ExecuteScalar() > 0) ? 1 : 0;
        }
    }