Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2011, 13:20   #1
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
Вопрос Результат запроса в переменную

Доброго времени суток! Подскажите пожалуйста как обратится/получить результаты запроса? В Дэлфи это без проблем реализуется а на ШАРПЕ не получается?(

Пример кода который должен вернуть строчку текста. База MS-SQL 2008:

Код:
FromAllSource.SelectCommand = "select sms from FroAll";
FromAllSource.DataBind();
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.03.2011, 13:46   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

например, так:
Код:
        public static string ExecuteScalar(string sql)
        {
            SqlConnection cnn = new SqlConnection("тут строка подключения к БД");
            cnn.Open();
            SqlCommand mycommand = new SqlCommand(cnn);
            mycommand.CommandText = sql;
            object value = mycommand.ExecuteScalar();
            cnn.Close();
            if (value != null)
            {
                return value.ToString();
            }
            return "";
        }

....
  String MySMS = ExecuteScalar("select top 1 sms from FroAll");
p.s. писал тут. могут быть опечатки, описки, ошибки в регистре методов/переменных и т.п...

p.p.s. это просто ОДИН из МНОЖЕСТВА вариантов решения заявленной в топике задачи (получить в переменной результата запроса)!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2011, 13:51   #3
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Спасибо огромное! Попробую работает ли.
Но есть вопрос! В "тут строка подключения к БД" нужно использовать название строки подключения которая уже существует?
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.03.2011, 15:33   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
нужно использовать название строки подключения которая уже существует?
разумеется! И можно, и нужно!

Кстати, если я правильно догадываюсь, то FromAllSource - это датаадаптер.
Например, это SqlDataAdapter
Покажите, как Вы его иницилизировали! (возможно, через строку подключения? или через SqlConnection?... )


[offtop]
кстати. вот что меня шокировало (да и продолжает шокировать в C# (ну и в .NET, соответственно)) — так это то, что одно и тоже действие может быть сделано множеством РАЗНООБРАЗНЕЙШИХ методов и способов!
(поясню на простейшем примере.
допустим. есть массив A[1..N]. нужно найти максимальную величину.
на паскале будет цикл от 1 до N (максимальные вариации - цикл будет for или while или repeat) и последовательный перебор элементов массива, сравнение их с переменной. ВСЁ!
Но не так в C#! Тут цикл может быть как по переменной, так и foreach.
а можно найти максимум просто запросом к массиву:
Код:
            byte[] byt = { 97, 115, 150, 97, 115 };
            byte iMax = byt.Max();
            MessageBox.Show(iMax.ToString());
и я уверен, что это далеко не единственный "хитрый" способ! (LINQ, лямбда функции и ещё всякие другие "страшные" слова помогут решить задачу по другому...)

возвращаясь к SqlDataAdapter
new SqlDataAdapter имеет 4 варианта... какой использовать - выбирать Вам.

это я всё к тому, что вашу задачу можно решить и другими способами...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2011, 15:47   #5
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

FromAllSource - это компонент SqlDataSource. Подключен удаленно к базе MS-SQL 2008. Это че то меняет?
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.03.2011, 16:18   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
FromAllSource - это компонент SqlDataSource. Подключен удаленно к базе MS-SQL 2008. Это че то меняет?
думаю, что нет, не меняет. Просто я хотел выполнить запрос через уже имеющееся подключение к БД. но как это сделать через SqlDataSource.SelectCommand я не знаю.

Поэтому попробуйте просто подключиться через ту же самую строчку подключения и выполнить запрос через ExecuteScalar() (пример выше...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2011, 16:33   #7
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Ругается на SqlConnection в вашем примере! Подскажите что именно нуже добавить в каталог ссылок и в директиву using ???
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.03.2011, 16:49   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
using System.Data.SqlClient;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2011, 16:50   #9
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Ооо!! Большущое спасибо!!!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.03.2011, 17:00   #10
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Новая проблема)!

Ошибка:

Код:
ExecuteScalar: Свойство Connection не инициализировано.
Указывает на строчку:

Код:
Строка 36:             object value = mycommand.ExecuteScalar();
Строка подключения:

Код:
SqlConnection cnn = new SqlConnection("Data Source=*****;Initial Catalog=*****;Persist Security Info=True;User ID=****;Password=*****");
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Результат запроса sql в переменную(знаю, что похожие темы были) animalshadow C++ Builder 4 05.06.2010 17:19
Как записать в переменную delphi результат sql запроса? mar4elo БД в Delphi 1 03.12.2009 16:59
результат запроса в переменную..Как? Iber Общие вопросы .NET 1 01.11.2009 04:18
Cохранить результат запроса в переменную EugeneIsmatulin Общие вопросы Delphi 2 10.06.2009 13:48
Результат запроса sql в переменную dll32 БД в Delphi 9 26.05.2009 15:02