hedgehog 17.12.2012 05:31 Psi+

Имеется Visual Studio 2008 express.
Что использовать, чтобы сделать простейший запрос к бд?

с++, ?
1. richmond 17.12.2012 05:31

бд у нас?

2. hedgehogrichmond /1 17.12.2012 05:33 Psi+

mssql

3. richmondhedgehog /2 17.12.2012 05:34

тогда точно не подскажу.

4. hedgehogrichmond /3 17.12.2012 05:40 Psi+

> SqlConnection thisConnection = new SqlConnection("Server=(local)\sqlexpress;Integrated Security=True;Database=DB");
Эта строчка вываливает ошибку
C2750: System::Data::SqlClient::SqlConnection: невозможно использовать "new" в ссылочном типе; следует использовать "gcnew'

Почему?
Может я неправильно подключил SqkClient?
> using namespace System::Data::SqlClient;

Почему с++ настолько разносортный язык, что даже копипаста из одного источника в другой гарантирует 100% некомпилируемость?

5. vthedgehog /4 17.12.2012 05:43

это не С++, это С++/CLI, и в нем используют gcnew.

6. hedgehogvt /5 17.12.2012 05:44 Psi+

> SqlConnection thisConnection = gcnew SqlConnection("Server=(local)\sqlexpress;Integrated Security=True;Database=DB");

c:\documents and settings\1\мои документы\visual studio 2008\projects\yan_reporter\yan_reporter\Form1.h(252) : error C2248: System::Data::SqlClient::SqlConnection::SqlConnection: невозможно обратиться к private член, объявленному в классе "System::Data::SqlClient::SqlConnection"

7. vthedgehog /6 17.12.2012 05:49

SqlConnection ^thisConnection = gcnew SqlConnection("Server=(local)\sqlexpress;Integrated Security=True;Database=DB");

8. hedgehogvt /7 17.12.2012 05:50 Psi+

it works ty

9. vthedgehog /8 17.12.2012 05:53

А вообще С++/CLI не предназначен для написания формочек, он предназначен для склеивания нативного и дотнетового кода, писать на нем чисто дотнетовскую прогу нет смысла, проще c#

10. hedgehogvt /9 17.12.2012 06:03 Psi+

ну охуеть теперь.
Я так понимаю, среди предложенных вариантов чистого с++ нету?

11. vthedgehog /10 17.12.2012 06:04

то что в группе Win32 — это "чистый С++"

12. hedgehogvt /11 17.12.2012 06:05 Psi+

это?

13. vthedgehog /12 17.12.2012 06:07

И то, и другое, да

14. lHooFoolhedgehog /4 17.12.2012 06:08

Ты это, прочитай краткий мэнуал, чем отличаются вижуал плюсы от обычных, а то заебешься разбираться с ошибками.

15. hedgehogvt /13 17.12.2012 06:09 Psi+

Создал то что выделено. Конструктора форм нету, но при компиляции появляется. Это почти юниксвей, но мне бы хотелось как в крузисе. Порекомендуйте норм назаляву.

16. hedgehoglHooFool /14 17.12.2012 06:18 Psi+

okay.jpg

17. vthedgehog /15 17.12.2012 06:20

Если тебе надо формочки к sql-серверу писать — качаешь Visual C# 2012 Express, создаешь WPF-проект и получаешь такой-то дизайнер форм, с таким-то декларативным XAML, который с помощью EntityFramework Code-First привязываешь к модели данных, а оно автоматически генерит бд и все такое.

18. hedgehogvt /17 17.12.2012 06:26 Psi+

Кто все эти люди?
Мне нужно чтобы в моем коде было просто и понятно подключиться к базе, сделать запрос, вывести результат %куда-то%. Даже в 1с это делается просто и по шаблону.
http://paste.org/58872

19. lHooFoolhedgehog /18 17.12.2012 06:29

На вижуал плюсах это не сложнее того кода, что ты привел. На шарпе с впф и датабайндингом, это чуть сложнее, но результат гораздо лучше.

20. vthedgehog /18 17.12.2012 06:36

а в C#+LINQ+EF это все заменяется двумя строками: <ListView x:Name='counters' /> в XAML, и counters.ItemsSource = _db.Counters.Where(x => x.TableName.Equals('PLIST') || x.TableName.Equals('PMARK')) — в коде. Всё, даже руками SQL писать не нужно.

21. hedgehogvt /20 17.12.2012 06:38 Psi+

до меня такие вещи быстро не доходят

22. vtvt /20 17.12.2012 06:38

вот, а то что ты написал на 1с — это стандартное использование ADO, этот код практически идентичен коду на VBA, это тебе эксель нужен. Но так же эти ком-объекты можно и в C#, и в C++ создавать, просто букв больше писать.

23. hedgehogvt /22 17.12.2012 06:47 Psi+

спс, ща ченить придумаю в общем. Какую вообще посоветуешь среду для норм познания с++?

24. vthedgehog /23 17.12.2012 06:53

Еще раз — C++ для написания формочек — не нужен, достаточно C# или VB.NET. А то и экселя с VBA. Да и 1С тоже хорошо.

25. hedgehogvt /24 17.12.2012 06:54 Psi+

для чего он тогда нужен то вообще, лол?

26. kurkuma 17.12.2012 07:05

mysql_connect($host, $user, $pass);
mysql_select_db($base);
mysql_query('SET NAMES utf8');

27. vthedgehog /25 17.12.2012 07:05

Для клея с legacy-кодом. К примеру, если у тебя не SQL-сервер, а данные в каком-нибудь закрытом формате, для доступа к которым имеется древняя либа на С или С++. Вот на С++, используя этот самый C++/CLI можно написать обертку, предоставляющую проге на дотнете класс для работы с этим форматом, который внутри будет вызывать ту старую либу.
А так конечно можно и тоже формы писать, просто кода будет больше, твоя производительность ниже, код сложнее и т.д., чем при использовании более современных средств.

Do you really want to delete ?