1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Binding parameter for insertion

Discussion in 'Database' started by pkjena, Jan 13, 2009.

  1. pkjena

    pkjena New Member

    Joined:
    Jan 2, 2009
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    Hi,
    For binding purpose i'm using the followng query--
    "INSERT INTO table_bank (Name,Balance,Withdraw,Address) VALUES (?,?,?,?)";

    but when i'm going to bind a 5th parameter like
    "INSERT INTO b1 (Name,Balance,Withdraw,Address,DateTime) VALUES (?,?,?,?,?)";

    i observed-
    - No compilation error.
    - Not adding any thing to database even the rest 4 parameters which were adding to database earlier .

    I just want to know whether is there any insertion limit or any thing i'hv to change with my Query.
    Also i'hv attached the code stuff as i'm using .Please find the same .txt file.

    Please let me know soon.

    Code:
    // DBApplicationDlg.cpp : implementation file
    //
    
    #include "stdafx.h"
    #include "DBApplication.h"
    #include "DBApplicationDlg.h"
    
    #include <windows.h>
    #include <sqlext.h>
    #define LENGTH 200
    #define LENGTH_COL 100
    
    
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    /////////////////////////////////////////
    ////////////////////////////////////////////Global Declaration ////////////////////////////////Litu   SQL Query ...................
    HENV hEnv = NULL;
    HDBC hDBC = NULL;
    HSTMT hStmt = NULL;
    UCHAR szDSN[SQL_MAX_DSN_LENGTH] = "BankInfo";
    UCHAR* szUID = NULL;
    UCHAR* szPasswd = NULL;
    
    
    UCHAR szSqlStr[250]= "Select * From b1";
    UCHAR szSqlStrPre[250]= "INSERT INTO b1 (Name,Balance,Withdraw,Address,DateTime) VALUES (?,?,?,?,?)";
    UCHAR szSqlStrSel[250]="SELECT Name FROM b1";
    
    RETCODE retcode;
    CString date;
    
    ////////////////////////////////////////////////////////////////////////Global Declaration End/////////////////////////////Litu
    
    // CAboutDlg dialog used for App About
    
    class CAboutDlg : public CDialog
    {
    public:
    	CAboutDlg();
    
    	// Dialog Data
    	enum { IDD = IDD_ABOUTBOX };
    
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    
    	// Implementation
    protected:
    	DECLARE_MESSAGE_MAP()
    };
    
    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
    {
    }
    
    void CAboutDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    }
    
    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
    END_MESSAGE_MAP()
    
    
    // CDBApplicationDlg dialog
    
    
    
    
    CDBApplicationDlg::CDBApplicationDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CDBApplicationDlg::IDD, pParent)
    {
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
    
    void CDBApplicationDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	DDX_Control(pDX, IDC_EDIT1, m_name);
    	DDX_Control(pDX, IDC_EDIT2, m_Balance);
    	DDX_Control(pDX, IDC_EDIT3, m_Withdraw);
    	DDX_Control(pDX, IDC_EDIT4, m_Addss);
    	DDX_Control(pDX, IDC_EDIT6, m_date);
    	DDX_Control(pDX, IDC_EDIT5,m_test);
    	DDX_Control(pDX, IDC_LIST1, m_fieldList);
    
    }
    
    BEGIN_MESSAGE_MAP(CDBApplicationDlg, CDialog)
    	ON_WM_SYSCOMMAND()
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	//}}AFX_MSG_MAP
    	//	ON_EN_CHANGE(IDC_EDIT4, &CDBApplicationDlg::OnEnChangeEdit4)
    	ON_BN_CLICKED(IDC_BUTTON1, &CDBApplicationDlg::OnBnClickedButton1)
    	//	ON_EN_CHANGE(IDC_EDIT1, &CDBApplicationDlg::OnEnChangeEdit1)
    	ON_BN_CLICKED(IDC_BUTTON2, &CDBApplicationDlg::OnBnClickedButton2)
    	ON_BN_CLICKED(IDC_BUTTON4, &CDBApplicationDlg::OnBnClickedButton4)
    	ON_BN_CLICKED(IDC_BUTTON3, &CDBApplicationDlg::OnBnClickedButton3)
    END_MESSAGE_MAP()
    
    
    // CDBApplicationDlg message handlers
    
    BOOL CDBApplicationDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    
    	// Add "About..." menu item to system menu.
    
    	// IDM_ABOUTBOX must be in the system command range.
    	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    	ASSERT(IDM_ABOUTBOX < 0xF000);
    
    	CMenu* pSysMenu = GetSystemMenu(FALSE);
    	if (pSysMenu != NULL)
    	{
    		CString strAboutMenu;
    		strAboutMenu.LoadString(IDS_ABOUTBOX);
    		if (!strAboutMenu.IsEmpty())
    		{
    			pSysMenu->AppendMenu(MF_SEPARATOR);
    			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    		}
    	}
    
    	// Set the icon for this dialog.  The framework does this automatically
    	//  when the application's main window is not a dialog
    	SetIcon(m_hIcon, TRUE);			// Set big icon
    	SetIcon(m_hIcon, FALSE);		// Set small icon
    
    	// TODO: Add extra initialization here
    	m_name.SetFocus(); ////////////Litu
    	m_test.ShowWindow(0);
    	int day, month, year;
    	int hour, minute,sec;
    	CTime currentTime = CTime::GetCurrentTime();
    	day = currentTime.GetDay();
    	month = currentTime.GetMonth();
    	year = currentTime.GetYear();
    	hour = currentTime.GetHour();
    	minute = currentTime.GetMinute();
    	sec=currentTime.GetSecond();
    	//date.Format(" date- %d/%d/%d    Time- %d:%d:%d",day,month,year,hour,minute,sec);
    	date = "678";
    	
    	return TRUE;  // return TRUE  unless you set the focus to a control
    }
    
    void CDBApplicationDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
    	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    	{
    		CAboutDlg dlgAbout;
    		dlgAbout.DoModal();
    	}
    	else
    	{
    		CDialog::OnSysCommand(nID, lParam);
    	}
    }
    
    // If you add a minimize button to your dialog, you will need the code below
    //  to draw the icon.  For MFC applications using the document/view model,
    //  this is automatically done for you by the framework.
    
    void CDBApplicationDlg::OnPaint()
    {
    	if (IsIconic())
    	{
    		CPaintDC dc(this); // device context for painting
    
    		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
    
    		// Center icon in client rectangle
    		int cxIcon = GetSystemMetrics(SM_CXICON);
    		int cyIcon = GetSystemMetrics(SM_CYICON);
    		CRect rect;
    		GetClientRect(&rect);
    		int x = (rect.Width() - cxIcon + 1) / 2;
    		int y = (rect.Height() - cyIcon + 1) / 2;
    
    		// Draw the icon
    		dc.DrawIcon(x, y, m_hIcon);
    	}
    	else
    	{
    		CDialog::OnPaint();
    	}
    }
    
    // The system calls this function to obtain the cursor to display while the user drags
    //  the minimized window.
    HCURSOR CDBApplicationDlg::OnQueryDragIcon()
    {
    	return static_cast<HCURSOR>(m_hIcon);
    }
    
    void CDBApplicationDlg::OnBnClickedButton1()
    {
    	
    	// Allocate memory for ODBC Environment handle
    	SQLAllocEnv (&hEnv);
    
    	// Allocate memory for the connection handle
    	SQLAllocConnect (hEnv, &hDBC);
    
    	// Connect to the data source "BankInfo" using userid and password.
    	retcode = SQLConnect (hDBC, szDSN, SQL_NTS, szUID, SQL_NTS, szPasswd, SQL_NTS);
    	if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    	{
    		// Allocate memory for the statement handle
    		retcode = SQLAllocStmt (hDBC, &hStmt);
    
    		CString  nm ,ads,bal,wdr;//,date;
    
    		m_name.GetWindowText(nm);
    		m_Balance.GetWindowText(bal);
    		m_Withdraw.GetWindowText(wdr);
    		m_Addss.GetWindowText(ads);
    
    		/*int day, month, year;
    		int hour, minute;
    		CTime currentTime = CTime::GetCurrentTime();
    		day = currentTime.GetDay();
    		month = currentTime.GetMonth();
    		year = currentTime.GetYear();
    		hour = currentTime.GetHour();
    		minute = currentTime.GetMinute();
    		date.Format(" Date- %d/%d/%d            Time- %d:%d",day,month,year,hour,minute);*/
    		CString testvalue ;
    		m_test.GetWindowText(testvalue);        
    
    		TCHAR  nme[LENGTH], addss[LENGTH],datetime[LENGTH];
    		TCHAR blnce[LENGTH],wdrw[LENGTH];
    
    		SDWORD  cname, cbalnce, cwithdraw,caddress,cdttm;
    		//	SDWORD count;
    
    
    		retcode = SQLPrepare(hStmt,szSqlStrPre,sizeof(szSqlStrPre));////////////////////Litu prepare
    		//retcode = SQLPrepare(hStmt,szSqlStr,sizeof(szSqlStr));
    
    		cname = SQL_NTS;                    /* null terminated string       */
    		cbalnce = 0;
    		cwithdraw = 0;
    		caddress=SQL_NTS;
    		//cdttm=SQL_DATA_AT_EXEC;
    
    		retcode = SQLBindParameter(hStmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR,
    			SQL_CHAR, LENGTH, 0,nme, 0, &cname);
    
    		retcode = SQLBindParameter(hStmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,
    			SQL_INTEGER, LENGTH, 0,blnce, 0, &cbalnce);
    
    		retcode = SQLBindParameter(hStmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR,
    			SQL_INTEGER, LENGTH, 0,wdrw, 0, &cwithdraw);
    
    		retcode = SQLBindParameter(hStmt, 4, SQL_PARAM_INPUT, SQL_C_CHAR,
    			SQL_CHAR, LENGTH, 0,addss, 0, &caddress);
    
    		  retcode = SQLBindParameter(hStmt,4, SQL_PARAM_INPUT, SQL_C_CHAR,
    			SQL_CHAR, LENGTH, 0,datetime, 0, &cdttm);
    
    		strcpy_s(nme, nm);
    		cname = strlen(nme);
    		strcpy_s(blnce, bal);
    		cbalnce = strlen(blnce);
    		strcpy_s(wdrw, wdr);
    		cwithdraw = strlen(wdrw);
    		strcpy_s(addss, ads);
    		caddress = strlen(addss);
    		
    		testvalue = date ;
    		strcpy_s(datetime, testvalue);
    		caddress = strlen(datetime);
    
    		// SQLCHAR query[] = "INSERT INTO b1 VALUES(?,0,1,'test1')";////// 	
    		retcode = SQLExecDirect(hStmt,szSqlStrPre, SQL_NTS);           
    
    		
    		retcode = SQLExecDirect(hStmt, (SQLCHAR*)"UPDATE b1 SET Name = 'Litu' WHERE Address = 'shd'", SQL_NTS);   /////// UPDATE UPDATE UPDATE
    		retcode = SQLExecDirect(hStmt, (SQLCHAR*)"DELETE FROM b1 WHERE withdraw = 9860", SQL_NTS);   /////// DELETE......
    
    		
    		// Execute the SQL statement handle
    		retcode = SQLExecute (hStmt);
    
    		
    		// Get row of data from the result set defined above in the statement
    		retcode = SQLFetch (hStmt);
    
    		
    		// Free the allocated statement handle
    		SQLFreeStmt (hStmt, SQL_DROP);
    
    		// Disconnect from datasource
    		SQLDisconnect (hDBC);
    	}
    }
     
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,285
    Likes Received:
    364
    Trophy Points:
    83
    Attachment moved to post
     
  3. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,012
    Likes Received:
    203
    Trophy Points:
    0
    Occupation:
    Senior Support Engineer
    Location:
    England
    What is the datatype of column DateTime in the database?
     

Share This Page