Подключение T-SQL к C ++ или C # - PullRequest
2 голосов
/ 03 декабря 2010

Какой язык предпочтительнее, если я хочу получить доступ к T-SQL, например MS Server 2008? в моем коде?

Я знаю, что оба языка, возможно, имеют расширения, я использую Visual Studio 2010. Однако я хочу знать, какой язык, вероятно, больше ..... скажем, "хорошо сформированный" для доступа к базе данных с помощью.

Как я знаю, C # - своего рода "вещь" Microsoft, но я не был уверен. Очевидно, что предпочтительнее использовать API, который является своего рода стандартным для T-SQL, но я не против использования Open Source.

Я лучше владею C ++, но в любом случае код относительно прост.

1 Ответ

4 голосов
/ 03 декабря 2010

Хорошо, "тот, который вы можете сделать эффективно сейчас", был бы хорошим началом, которое для вас звучит как C ++;Я почти уверен, что оба имеют обширную поддержку для общения с SQL Server.

Лично Я бы использовал C #, но это просто потому, что я достаточно хорошо знаю библиотеки и инструменты и могвывести вызов SQL за несколько секунд.Я мог бы даже пойти так далеко, чтобы предположить, что библиотеки .NET стали более популярными в последнее время - поэтому, возможно, managed C ++ / CLI может помочь.Возможно.

Это также зависит от того, можете ли вы предположить, что у клиента есть .NET, конечно ...

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

Например, в C # со ссылкой на System.Data.dll:

using System.Data;
using System.Data.SqlClient;
...
void SomeMethod() {
    using(var conn = new SqlConnection(connectionString))
    using(var cmd = conn.CreateCommand()) {
        cmd.CommandText = @"
           // some
           // tsql
           // here";
        // cmd.Paramaters.Add(...); // bobby tables
        conn.Open();
        cmd.ExecuteNonQuery(); // or Reader, etc - lots of options
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...