colfarell | je suis entrain de faire une petite application sur visual C++ et j'ai un problème. Je voudrais faire une insertion dans cette table : Code :
CREATE TABLE Beneficier (idbenef INTEGER PRIMARY KEY IDENTITY(1,1), idadh VARCHAR (4), code_eq VARCHAR(4), datebenef datetime NOT NULL, FOREIGN KEY (idadh) REFERENCES Adherents ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (code_eq) REFERENCES Equipements ON DELETE CASCADE ON UPDATE CASCADE);
| Et voici mon code d'insertion
Code :
- void ChargerTableBeneficier(HWND hDlg)
- {
- //on va ramener de la base de donnees ces élélments
- char szcodequip[4+1];
- char szidadher[4+1];
- char szdate_benef[8+1];
- SQLINTEGER cbInt=0, cbChar = SQL_NTS;
-
- /* Allocate statement handle */
- retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
-
- /* Process data SQL_SUCCESS */
- retcode = SQLPrepare(hstmt,"INSERT INTO Beneficier (idadh,code_eq,datebenef) VALUES (?, ?, ?)", SQL_NTS);
- /* Specify data types and buffers for OrderID, CustID, OpenDate, SalesPerson, */
- /* Status parameter data. */
- SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,
- SQL_CHAR, 4+1, 0, szidadher, 0, &cbChar);
- SQLBindParameter(hstmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR,
- SQL_CHAR, 4+1, 0, szcodequip, 0, &cbChar);
- SQLBindParameter(hstmt, 4, SQL_PARAM_INPUT, SQL_C_CHAR,
- SQL_CHAR, 8+1, 0, szdate_benef, 0, &cbChar);
- //Je récupère mes données de l'écran par exemple....
- //je renseigne mes valeur à inserer
- GetDlgItemText(hDlg,IDC_IDADH,(LPTSTR)szidadher,4+1);
- GetDlgItemText(hDlg,IDC_CODE_EQUIP,(LPTSTR)szcodequip,4+1);
- GetDlgItemText(hDlg,IDC_DATE_BENEF,(LPTSTR)szdate_benef,8+1);
- /* Execute statement with second row. */
- retcode = SQLExecute(hstmt);
- }
|
Et j'appelle cette fonction à ce niveau : Code :
- LRESULT CALLBACK DLGCoopera(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
- {
- switch (message)
- {
- case WM_INITDIALOG:
- Charger_code_equip(hDlg);
- Charger_idAdh(hDlg);
- return TRUE;
- case WM_COMMAND:
- if (LOWORD(wParam) == IDOK)
- {
- ChargerTableAcheteur(hDlg);
- ChargerTableEquip(hDlg);
- ChargerTableBeneficier(hDlg);
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
- if(LOWORD(wParam) == IDCANCEL)
- {
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
- /* if(LOWORD(wParam) == IDC_MODIFIER)
- {
- ExempleModification(hDlg);
- //EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }*/
- break;
- }
- return FALSE;
- }
| Et qd j'éffectue mon insertion via mon interface graphique de Visual C++ , les données ne sont pas inserer au niveau de la table. Alors je voudrais que vous me donniez un de coup de main merci. Édité par Elmoricq : ajout des balises code pour plus de lisibilité
Message édité par Elmoricq le 22-09-2008 à 10:54:25
|