Я разработал простое приложение в Visual studio 2008. Это комбинация C и C ++. Сейчас я пытаюсь подключиться к SQLserver2005.Установлен SQlserver2005 для управления Express studio.
Создана база данных и таблица. Чтобы узнать о связности, взял пример для вставки данных из кода С. Но он ничего не показывает. Я знаю, что это очень просто. Но кое-где я делаю не так.
Я хотел бы уточнить несколько вещей о приведенном ниже коде. Хочу сделать подключение локально, а не серверной частью с помощью SQLserver2005.
- В строке подключения, какие имя пользователя и пароль я должен упомянуть.
- что на самом деле делает эта строка. "Hr = pConn-> Open (strCon," keerth "," keerth ", 0);"
- обычно в MYSQL мы создаем DNS.но как упомянуть DNS в SQL server2005.
- Если я хочу вставить значение переменной (которое будет отображаться в окне консоли) в базу данных. Пожалуйста, дайте мне знать, возможно ли это? если это так, предложите мне любую идею для ее реализации.
Есть ли учебные ссылки, чтобы узнать об этих вещах.
#include "stdafx.h"
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
int main(int argc, char* argv[])
{
/*The following variables will be initialized with necessary values and appended to the strSQL values*/
_bstr_t strName;
_bstr_t strAge;
_bstr_t strDOB;
_bstr_t strSalary;
_ConnectionPtr pConn = NULL;
// Define string variables for ADO connection
_bstr_t strCon("Provider=SQLOLEDB.1;Persist Security Info=False;Username=keerth;Password=keerth;Initial Catalog=keerth516;Data Source=(local);Integrated Security=SSPI;");
HRESULT hr = S_OK;
//Initialize the COM Library
CoInitialize(NULL);
try
{
//Create the Connection pointer
hr = pConn.CreateInstance((__uuidof(Connection)));
if(FAILED(hr))
{
printf("Error instantiating Connection object\n");
goto cleanup;
}
//Open the SQL Server connection
hr = pConn->Open(strCon,"keerth","keerth",0);
if(FAILED(hr))
{
printf("Error Opening Database object using ADO _ConnectionPtr \n");
goto cleanup;
}
/*Initialize the values */
strName = "'C++ ADO insert Sample',";
strAge = "23,";
strDOB = "'13/04/1988',";
strSalary = "16600.10)";
/* Append the values to the Insert Statement */
_bstr_t strSQL("Insert into Table1(NAME,AGE,DOB,SALARY) Values(");
strSQL += strName + strAge + strDOB + strSalary ;
printf("%s\n",(LPCSTR)strSQL);
//Execute the insert statement
pConn->Execute(strSQL,NULL,adExecuteNoRecords);
printf("Data Added Successfully\n",(LPCSTR)strSQL);
//Close the database
pConn->Close();
}
catch(_com_error &ce)
{
//printf("Error:%s\n",ce.ErrorInfo);
printf("Error:%s\n,",(char*)ce.Description());
}
cleanup:
CoUninitialize();
return 0;
}