2016-09-08 1 views
0

я получил значение из SQL Server, используя этот код C#:Как использовать значение из SQL Server в C#

SqlDataReader reader = new SqlCommand("select Top 1 Client From _ClientName group by Client order by count(*) desc", sqlCon.ShardDB).ExecuteReader(); 

Как я могу использовать это значение снова, чтобы вставить его в другую таблицу?

+0

Psst. Этот комментарий не связан с этим вопросом. Речь идет о другой, которую вы должны были закрыть сегодня, потому что это было не очень ясно. Это слишком плохо, потому что после вашего последнего редактирования это было яснее. Ответ заключается в использовании 'top 1 with ties':' select Top 1 со связями Client ... '. Удачи. – sstan

ответ

0

Во-первых, ради читабельности, попробуйте разделения кода на отдельные строки, например, так:

SQLReader reader; 
SQLCommand SQLCmd = new SQLCommand(); 
SQLCmd.CommandText = "select Top 1 Client From _ClientName group by Client order by count(*) desc"; 
SQLCmd.Connection = sqlCon.SharedDB; 
reader.Execute(SQLCmd); 

Если я понял ваш комментарий к предыдущему ответу Sajeetharan, вы хотите знать, как перейти к следующему результату, если ваш запрос возвращает более одного. Вы пробовали SQLReader.Read()?

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx

+0

мой код работает 100%, но в этом порядке я делаю счет для имени в таблице, у меня много имен, поэтому у меня есть только одно имя, но я не могу использовать это имя, поэтому, возможно, используйте параметры? –

+0

Вы хотите увеличить счетчик для каждого результата, возвращаемого читателем? Если это так, вызовите 'reader.Read()', а затем добавьте переменную 'int'. –

+0

благодарит за помощь bro :) –

1

Просто используйте название столбца begin, возвращаемого из базы данных i.e «Клиент» здесь. Если это строка, вы можете использовать .ToString(). Если это другой тип, вам нужно преобразовать его с помощью System.Convert

string Value = reader["Client"].ToString(); 
+0

i подсчитывать строки в select, если я использую call Client, даст мне ошибку, поэтому я думаю, что для этого нужен параметр, чтобы сделать это, можете ли вы сказать мне, как это сделать? –