hedgehog
17.12.2012 05:31 Psi+
Имеется Visual Studio 2008 express.
Что использовать, чтобы сделать простейший запрос к бд?
бд у нас?
mssql
тогда точно не подскажу.
> 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% некомпилируемость?
это не С++, это С++/CLI, и в нем используют gcnew.
> 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"
SqlConnection ^thisConnection = gcnew SqlConnection("Server=(local)\sqlexpress;Integrated Security=True;Database=DB");
it works ty
А вообще С++/CLI не предназначен для написания формочек, он предназначен для склеивания нативного и дотнетового кода, писать на нем чисто дотнетовскую прогу нет смысла, проще c#
ну охуеть теперь.
Я так понимаю, среди предложенных вариантов чистого с++ нету?
то что в группе Win32 — это "чистый С++"
это?
И то, и другое, да
Ты это, прочитай краткий мэнуал, чем отличаются вижуал плюсы от обычных, а то заебешься разбираться с ошибками.
Создал то что выделено. Конструктора форм нету, но при компиляции появляется. Это почти юниксвей, но мне бы хотелось как в крузисе. Порекомендуйте норм назаляву.
okay.jpg
Если тебе надо формочки к sql-серверу писать — качаешь Visual C# 2012 Express, создаешь WPF-проект и получаешь такой-то дизайнер форм, с таким-то декларативным XAML, который с помощью EntityFramework Code-First привязываешь к модели данных, а оно автоматически генерит бд и все такое.
Кто все эти люди?
Мне нужно чтобы в моем коде было просто и понятно подключиться к базе, сделать запрос, вывести результат %куда-то%. Даже в 1с это делается просто и по шаблону.
http://paste.org/58872
На вижуал плюсах это не сложнее того кода, что ты привел. На шарпе с впф и датабайндингом, это чуть сложнее, но результат гораздо лучше.
а в C#+LINQ+EF это все заменяется двумя строками: <ListView x:Name='counters' /> в XAML, и counters.ItemsSource = _db.Counters.Where(x => x.TableName.Equals('PLIST') || x.TableName.Equals('PMARK')) — в коде. Всё, даже руками SQL писать не нужно.
до меня такие вещи быстро не доходят
вот, а то что ты написал на 1с — это стандартное использование ADO, этот код практически идентичен коду на VBA, это тебе эксель нужен. Но так же эти ком-объекты можно и в C#, и в C++ создавать, просто букв больше писать.
спс, ща ченить придумаю в общем. Какую вообще посоветуешь среду для норм познания с++?
Еще раз — C++ для написания формочек — не нужен, достаточно C# или VB.NET. А то и экселя с VBA. Да и 1С тоже хорошо.
для чего он тогда нужен то вообще, лол?
mysql_connect($host, $user, $pass);
mysql_select_db($base);
mysql_query('SET NAMES utf8');
Для клея с legacy-кодом. К примеру, если у тебя не SQL-сервер, а данные в каком-нибудь закрытом формате, для доступа к которым имеется древняя либа на С или С++. Вот на С++, используя этот самый C++/CLI можно написать обертку, предоставляющую проге на дотнете класс для работы с этим форматом, который внутри будет вызывать ту старую либу.
А так конечно можно и тоже формы писать, просто кода будет больше, твоя производительность ниже, код сложнее и т.д., чем при использовании более современных средств.