как извлечь значение одного столбца из таблицы данных - PullRequest
0 голосов
/ 22 января 2012

у меня есть стол

Login(id(int),EmailId(varchar(35),connType(varchar))

где conntype имеет значения, такие как pop3 или imap. считать, что пользователь вошел в систему. я хочу получить значение connType зарегистрированного пользователя, чтобы сделать это

if(conntypeValue == imap)
{
 //code for imap connection
}else
{
//code for pop3 connection
}

как я могу это сделать

1 Ответ

0 голосов
/ 22 января 2012

Как упомянуто в комментариях выше, есть много документации, касающейся этого.Есть много способов подключиться к базе данных и получить информацию, такую ​​как Linq2Sql и NHibernate.Я сделал это с помощью базовых классов SqlConnection.Лично я считаю, что важно сначала понять эти понятия.

public SqlConnectionExample()
    {
        // the connection string to the database - this should ALWAYS be configurable
        string connectionString = "server=localhost;initial catalog=mydatabase; user=mysqluser;pass=mysqlpassword";
        int userID = 1; // the ID of the logged in user

        // create a connection to the database
        using (SqlConnection conn = new SqlConnection(connectionString))
        {
            conn.Open();
            // create a command to pass over the connection
            using (SqlCommand cmd = new SqlCommand("select connType from login where ID = @id", conn))
            {
                // create a SQL parameter to add them to the command - this will limit the results to the single user
                SqlParameter p = new SqlParameter("id", System.Data.SqlDbType.Int);
                p.Value = userID;

                cmd.Parameters.Add(p);

                // as we are only selecting one column and one row we can use ExecuteScalar
                string connType = cmd.ExecuteScalar().ToString();

                if (connType.Equals("imap", StringComparison.CurrentCultureIgnoreCase))
                {
                    // imap
                }
                else
                {
                    // pop3
                }
            }
        }
    }

Вам нужно будет определить правильную ConnectionString (попробуйте www.connectionstrings.com) и идентификатор пользователя самостоятельно.Обратите внимание, если вы ожидаете, что будет возвращено более одной строки (я предполагаю, что ID - это первичный ключ здесь), вам нужно использовать SqlDataReader с функцией cmd.ExecuteReader.

Обратите внимание, я тожеиспользуя string.Equals () вместо connType == "Imap", это позволяет мне указывать нечувствительность к регистру.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...