Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

С чего начать изучение SQL

18K
14 декабря 2010 года
imAlex
179 / / 29.07.2010
Доброе время суток.
Я хочу научиться создавать и работать с базами, но вот не задачка: "С чего начать?". Подскажите что проще в освоении MS SQL или MSQL. Может кто знает умные статьи для чайников?
У меня есть программа, написанная мной на С. Она по сути отслеживает приход/уход сотрудников, если пользователь ничего не делает в течении n-ного кол. времени то фиксирует и это. Сейчас прога создает текстовый файл, дальше средствами JS и php я это обрабатываю и вывожу на сайт. Хотелось бы все это в базу. Соответственно какая база лучше?
Страницы:
18K
17 января 2011 года
imAlex
179 / / 29.07.2010
ФУУУ, разобрался.
В общем у меня было сделано так:
 
Код:
if(!mysql_real_connect(&conn, "localhost", "root", "", "InOut", 0, NULL, 0))
{
...
}

но проблема в том, что тогда постоянно при проверке соединения выполнялось само соединения, отсюда у меня и набегали подключения, и как потом выяснилось кушалась память.
Мне пришлось сделать сл.:
-выполнить connect;
-перед каждым запросом проверять некий параметр
 
Код:
if(mysql_ping(&conn)!=0)
{
...
reconnect
...
}

данная команда (mysql_ping() ) работает только после хотя бы одной попытки подключения. А я до этого пробовал сначала проверять соединение, ну и естественно ничего не получалось.
Если кто сталкивался с такой проблемой, буду рад почитать о ваших подходах к ее решению.
Огромное спасибо всем за помощь.
Осталось оттестировать и в путь.
По поводу самого MySQL, если я хочу, чтоб внутри базы постоянно проводились какие то операции между ячейками разных таблиц (например в одной таблице всегда была авто сумма всех значений из другой таблицы)-что для этого необходимо?
18K
14 марта 2011 года
imAlex
179 / / 29.07.2010
Всем привет.
С MYSQL я немного разобрался. Помогите разобраться с MS SQL.
Трудность в следующем. Есть некая база (продукт компании megatec). Я хочу с этой базы делать выборку.
Создатели уверяют, что база полностью открыта, и мол делайте с ней чего угодно, однако я никак не могу понять где там что хранится. Есть ли возможность в MS SQL просматривать содержимое таблиц (что-то на подобии просмотра в MyAdmin). Я поставил MS SQL Server Management Studio Express (v9.), подключился к базе, могу просматривсать структуру таблиц, однако само содержимое не найти. Может я чего не правильно делаю?
385
14 марта 2011 года
SomewherSomehow
477 / / 25.07.2004
Что, не смогли найти в контекстном меню пункт Open?=)
[ATTACH=CONFIG]4986[/ATTACH]
5
15 марта 2011 года
hardcase
4.5K / / 09.08.2005
Цитата: imAlex
Может я чего не правильно делаю?

 
Код:
SELECT TOP(100) * FROM database.dbo.MyTable
18K
15 марта 2011 года
imAlex
179 / / 29.07.2010
Пасибо.
Видать мой вопрос был слишком приметивен. Я как-то раз сталкивался с MS SQL, мне казалось, чтоб открыть содержимое, необходимо нажать F5, и не как по другому. Правой кнопкой воспользоваться не догадался )))
385
15 марта 2011 года
SomewherSomehow
477 / / 25.07.2004
F5 нажимают четкие пацаны вроде hardcase, когда введут запрос ;) чего и вам советую!
63
17 марта 2011 года
Zorkus
2.6K / / 04.11.2006
Нда, понятие четкости в наше время девальвировано :D
18K
22 марта 2011 года
imAlex
179 / / 29.07.2010
Прошу прощения, что не совсем по теме. У меня возникла проблема. Я построил запрос через php:
Код:
$res = mssql_query("Select dbo.Payments.PM_ID, dbo.Payments.PM_DocNumber, dbo.Payments.PM_SumTarget, dbo.Clients.CL_FirstName, dbo.Clients.CL_MiddleName, dbo.Clients.CL_Name, dbo.Countries.CN_Name
                    from dbo.Payments, dbo.Clients, dbo.Agreements, dbo.Countries
                    where dbo.Payments.PM_Date='3/15/2011 12:00:00 AM' and dbo.Payments.PM_SumTarget>'0' and dbo.Clients.CL_ID=dbo.Payments.PM_CL_ID and
                    dbo.Agreements.AG_Code=dbo.Payments.PM_DocNumber and dbo.Countries.CN_ID=dbo.Agreements.AG_CN_ID
                    group by dbo.Payments.PM_ID, dbo.Payments.PM_DocNumber, dbo.Payments.PM_SumTarget, dbo.Clients.CL_FirstName, dbo.Clients.CL_MiddleName, dbo.Clients.CL_Name, dbo.Countries.CN_Name");

while ( $w = mssql_fetch_array($res) )
{
echo "<tr>";
echo "<td>".$w["PM_ID"]."</td><td>".$w["PM_DocNumber"]."</td><td>".$w["PM_SumTarget"]."</td><td>".$w["CL_FirstName"]."</td><td>".$w["CL_MiddleName"]."</td><td>".$w["CL_Name"]."</td><td>".$w["CN_Name"]."</td>";
echo "</tr>";
}

, теперь хочу перенести его в C++. Уже третий день ищу как на C++ подключиться к MSSQL. Нигде не могу найти. Выяснил, что есть целая куча способов, однако не могу найти ни примера, ни толкового описания. Может есть у кого пример соединения с базой MSSQL через С++?
18K
22 марта 2011 года
imAlex
179 / / 29.07.2010
Нашел статью http://forum.sources.ru/index.php?showtopic=152117, там говорится про необходимость подключения библиотек и импорт. Компилятор не выдает ошибок, однако при запуске ругается на _CrtIsValidHeapPointer(pUserDate). Что это значит?
18K
22 марта 2011 года
imAlex
179 / / 29.07.2010
Никак не пойму. Ругается на строчку
 
Код:
_bstr_t strConn = "Provider=sqloledb;Data Source=(local);Initial Catalog=pubs";

Уже как только не пробовал. На сайте http://www.kgcoder.org/index.php?option=com_content&task=view&id=14&Itemid=92 пишут, что все так и должно быть. Компилируется нормально, а запускаться не хочет:mad:
385
23 марта 2011 года
SomewherSomehow
477 / / 25.07.2004
Мне кажется стоит обратиться в форум по c++. Больше вероятность что помогут.
18K
23 марта 2011 года
imAlex
179 / / 29.07.2010
Спасибо.
Данный вопрос я задал в разделе VC++. А среди обитателей в данном разделе есть люди, которые подключались к MSSQL с помощью каких либо языков программирование (не web)?
Мне в принципе все равно на чем писать, основные требования: возможность подключиться к MSSQL и возможность работы с MS Excel.
385
23 марта 2011 года
SomewherSomehow
477 / / 25.07.2004
Думаю что есть.
Я вот с с++ дело имел (конкретно средой и компилятором от борланд), но относительно давно, и в связке с сиквел сервером тогда не работал.
А сейчас на си-шарпе оченно активно взаимодействуем-с и в виндоус приложениях, и в веб, и в каких хошь. С экселем тоже нет проблем работать при помощи си-шарп и библиотек классов .нет - так что смотрите сами, если не в курсе что это такое - почитайте в инете и решите насколько оно вам подходит для вашей задачи.
18K
23 марта 2011 года
imAlex
179 / / 29.07.2010
Я так понял, что си-шарп это c#. А в какой среде работаете? И, если не сложно, приведите пример коннекта c MSSQL.
Я пробовал среду VC 2010 (без приставки С++), там коннект с базой устанавливается при создании проекта, однако что делать дальше мне было ну совсем не понятно. Я сегодня пол дня разбирался. Не получается.
385
24 марта 2011 года
SomewherSomehow
477 / / 25.07.2004
Цитата: imAlex
Я так понял, что си-шарп это c#. А в какой среде работаете? И, если не сложно, приведите пример коннекта c MSSQL.
Я пробовал среду VC 2010 (без приставки С++), там коннект с базой устанавливается при создании проекта, однако что делать дальше мне было ну совсем не понятно. Я сегодня пол дня разбирался. Не получается.


Да c#. Не знаю что такое "VC 2010", может вы имели ввиду VS 2010? Т.е. Visual Studio 2010? Там есть разные возможности по установке коннекта, но суть одна. Вот я вам накидал на 2008 студии тестовый пример в котором демонстрируется соединение с бд, открытие транзакции, запрос, закрытие транзакции и соединения. Если в 2010 студии его будете открывать - он влегкую сконвертируется автоматически. так что разбирайтесь, там все не сложно.

1
24 марта 2011 года
kot_
7.3K / / 20.01.2000
Может ты даш себе труд хотябы прочесть то, ты сам же привел по ссылке? Или не осилил?
18K
24 марта 2011 года
imAlex
179 / / 29.07.2010
SomewherSomehow, огромное спасибо. Это именно то, что было нужно. Я запустил Ваш проект в VS 2010 (ранее опечатался с VC), пришлось доставить Framework 3.5. Все заработало. Правда у меня VS 2010 бета версия, возникла проблема с формами. Пишет:
Цитата:
No build assemblies contain components to inherit from. Build the current application, or click Browse end select a previously build assembly from another application.


но в принципе не страшно. Позже скачаю полную версию, думаю там все заработает.
Уважаемый kot_, не совсем понял про что Вы? Я полностью прочитал и выполнил все по той ссылке. К сожалению результата тем самым не добился.

18K
04 апреля 2011 года
imAlex
179 / / 29.07.2010
А как можно узнать количество строк по запросу?
Количество колонок: dr.FieldCount, а как количество строк? Я нашел, этот параметр выводится в дебаге при наведении на массив (ResultsView->Static Members->Non-Public member->_obgectTypeCount).
385
05 апреля 2011 года
SomewherSomehow
477 / / 25.07.2004
Кол-во строк обработанных/возвращенных запросом можно получить прочитав после запроса переменную @@rowcount. Если интересует какое свойство в клиентских компонентах содержит в себе кол-во строк - это в форум по этим комонентам. Тут все-таки давайте придерживатсья вопросов серверной стороны.
18K
07 апреля 2011 года
imAlex
179 / / 29.07.2010
Подскажите, как построить запрос сл. вида:
 
Код:
Select Number
from dbo.Num
where Number='*1234'

То есть, имеется таблица Num, в ней есть столбец Number а в нем есть запись "00001234". Как зная последние цифры можно найти значение целиком? Или если их несколько, то все совпадающие.
244
07 апреля 2011 года
UAS
2.0K / / 19.07.2006
СУБД какая??
WHERE Number LIKE '%1234'
70K
07 апреля 2011 года
AmKad
2 / / 26.03.2011
Интересно, в какой СУБД в поле number хранится "00001234"?
Если это действительно Number, то достаточно взять остаток от деления на 10000.
18K
08 апреля 2011 года
imAlex
179 / / 29.07.2010
Прошу прощения за невнятность. СУБД MSSQL, а поле number- не имеет смысловой нагрузки. Я лишь хотел покороче описать вопрос.
На самом деле тип данных text, а в нем лежат номера с буквами и цифрами сл. вида: GFR0001234. Длинна номера может меняться (к сожалению по неизвестному алгоритму). Нужно создать запрос, который по совпадению символов вернет номер целиком. Например при запросе найти все номера с встречающимся сочетанием 1234, должны вернуться GFR0001234, DRG00612345 и т.д.
18K
08 апреля 2011 года
imAlex
179 / / 29.07.2010
Уважаемый UAS, прошу прощения, за то, что я не заметил ваше сообщение. Это именно то, что было необходимо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог