Дополнение в C # с SQL:

самый простой способ в C # (файл .cs) получить счетчик из команды SQL

SELECT COUNT(*) FROM table_name

вint переменная?

Ответы на вопрос(5)

SqlConnection conn = new SqlConnection("ConnectionString");
conn.Open();
SqlCommand comm = new SqlCommand("SELECT COUNT(*) FROM table_name", conn);
Int32 count = (Int32) comm .ExecuteScalar();
 m.edmondson12 янв. 2011 г., 13:54
Разве это не идентично моему ответу?
 erikric12 янв. 2011 г., 14:13
Просто для ясности, строка подключения обычно представляет собой строку с информацией о том, к какой базе данных вы подключаетесь. Пример: «Сервер = myServerAddress; База данных = myDataBase; Trusted_Connection = True;» Это позволит вам войти в базу данных с теми же учетными данными, которые вы используете на своем компьютере.
int count = 0;    
using (new SqlConnection connection = new SqlConnection("connectionString"))
{
    sqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM table_name", connection);
    connection.Open();
    count = (int32)cmd.ExecuteScalar();
}

Дополнение в C # с SQL:

SqlConnection conn = new SqlConnection("ConnectionString");
conn.Open();
SqlCommand comm = new SqlCommand("SELECT COUNT(*) FROM table_name", conn);
Int32 count = Convert.ToInt32(comm.ExecuteScalar());
if (count > 0)
{
    lblCount.Text = Convert.ToString(count.ToString()); //For example a Label
}
else
{
    lblCount.Text = "0";
}
conn.Close(); //Remember close the connection

Вы получите ошибки преобразования с:

cmd.CommandText = "SELECT COUNT(*) FROM table_name";
Int32 count = (Int32) cmd.ExecuteScalar();

Используйте вместо:

string stm = "SELECT COUNT(*) FROM table_name WHERE id="+id+";";
MySqlCommand cmd = new MySqlCommand(stm, conn);
Int32 count = Convert.ToInt32(cmd.ExecuteScalar());
if(count > 0){
    found = true; 
} else {
    found = false; 
}
 Bishoy Frank12 авг. 2017 г., 19:54
У меня есть вопрос ... что делать, если я хочу, чтобы в строке, используя текстовое поле, например: - string stm = "SELECT COUNT (*) FROM table_name WHERE name =" + Name.Text .Trim () + ";" ;
Решение Вопроса

использованиеSqlCommand.ExecuteScalar() и бросить его вint:

cmd.CommandText = "SELECT COUNT(*) FROM table_name";
Int32 count = (Int32) cmd.ExecuteScalar();
 SeaDrive17 янв. 2011 г., 22:50
В этом случае всегда будет возвращаемое значение типа int. В более общем случае вы можете получить возвращаемое значение DBNull, например, msgstr "выбрать ssn из таблицы 1, где company_id = '112233'". Поскольку вы не можете привести DBNull к вашему возвращаемому типу данных, вы должны протестировать и изменить его либо в SQL, либо в своем приложении.
 Shadow Wizard12 янв. 2011 г., 13:47
да, пример там в значительной степени охватывает это, просто изменитеINSERT INTO быть твоимSELECT заявление..
 m.edmondson26 мар. 2015 г., 18:13
@SearchForKnowledge Проверьте, что возвращаемое значение является значением, которое может быть преобразовано в Int32. Есть хороший шанс, что вы пытаетесь преобразовать слово.
 EKanadily17 дек. 2015 г., 09:11
используйте long вместо int в качестве типа возвращаемого значения
 Willz27 мая 2015 г., 00:30
@SearchForKnowledge Попробуйте использовать Convert.ToInt32 (cmd.ExecuteScalar ()) вместо приведения.

Ваш ответ на вопрос