Frage

Hier sind die Erklärungen der Variablen:

string strFirstName;
string strLastName;
string strAddress;
string strCity;
string strState;
double dblSalary;
string strGender;
int intAge;

... Haben einige "cin" -Aussagen Daten zu bekommen ...

retcode = SQLPrepare(StatementHandle, (SQLCHAR *)"INSERT INTO EMPLOYEE ([FirstName], [LastName], [Address], [City], [State], [Salary], [Gender],[Age]) VALUES (?,?,?,?,?,?,?,?)", SQL_NTS);

retcode = SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 50, 0 &strFirstName,0, NULL);

retcode = SQLBindParameter(StatementHandle, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 50, 0, &strLastName,0, NULL);

retcode = SQLBindParameter(StatementHandle, 3, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 30, 0, &strAddress,0, NULL);

retcode = SQLBindParameter(StatementHandle, 4, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 30, 0, &strCity,0, NULL);

retcode = SQLBindParameter(StatementHandle, 5, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 3, 0, &strState,0, NULL);

retcode = SQLBindParameter(StatementHandle, 6, SQL_PARAM_INPUT, SQL_C_DOUBLE, SQL_DOUBLE, 0, 0, &dblSalary,0, NULL);

retcode = SQLBindParameter(StatementHandle, 7, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_LONGVARCHAR, 2, 0, &strGender,0, NULL);

retcode = SQLBindParameter(StatementHandle, 8, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &intAge,0, NULL);

retcode = SQLExecute(StatementHandle);

Die int und doppelte Arbeit gut und in der Tabelle gespeichert bekommen ... aber ich kann nicht herausfinden, wie die Saiten erhalten zu speichern ...

War es hilfreich?

Lösung

MSDN-Dokumentation für SQLBindParameter sagt, Sie sollen einen Puffer passieren enthält die Daten für ParameterValuePtr und die Länge des Puffers in Bytes für BufferLength:

retcode = SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_CHAR,
   SQL_LONGVARCHAR, 50, 0, strFirstName.c_str(), strFirstName.length(), NULL);
  

ParameterValuePtr [Latente Eingabe] A   Zeiger auf einen Puffer für die   Parameterdaten. Für mehr   Informationen finden Sie unter „ParameterValuePtr   Argument“in "Kommentare".

     

BufferLength [Input / Output] Länge   der ParameterValuePtr Puffer in Bytes.   Weitere Informationen finden Sie   "BufferLength Argument" in "Kommentare".

Andere Tipps

Es sieht aus wie die api, will ein unsigned char * versuchen vorbei in einer c-Schnur, mit dem c_str () Methodenaufruf.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top