Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > C, C++, Visual C++
  Aktif Konular Aktif Konular RSS: VC++ MFC ile SQL Server 'a nasıl bağlanırım
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

VC++ MFC ile SQL Server 'a nasıl bağlanırım

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: VC++ MFC ile SQL Server 'a nasıl bağlanırım
    Gönderim Zamanı: 14.Haziran.2016 Saat 16:41



#include "stdafx.h"
#include "MFC_DB_Test.h"
#include <afxdb.h>
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
 
using namespace std;
 
int main()
{
	CString _selectUsr_sql;
	CStringA _userName, _userPassword;
 
	CDatabase dbx;
	CRecordset rs(&dbx); //veri tabani nesnesi RecordSer'e referans olarak ataniyor
 
	BOOL _conr = dbx.Open(NULL, falsefalse, _T("ODBC;DSN=ffs;Uid=sa;Pwd=1881"));
 
	//Connection Strings / SQL Server Bağlantı String leri
	//1-ODBC;DSN=ffs;Uid=sa;Pwd=1881
	//2-DRIVER={SQL Server};Uid=sa;Pwd=1881;Database=FFS_DB;Server=THEBLACKSEA
	//3-DRIVER={SQL Server Native Client 11.0};Uid=sa;Pwd=1881;Database=FFS_DB;Server=THEBLACKSEA
 
	//1. yöntemde Yönetimsel araçlar >> ODBC kısmında alias tanımlamanız gerekir.
	//örneğe göre ffs aliasın adıdır.
	//diğer iki yöntemde ODBC üzerinde bir tanım yapmanıza gerek yoktur.
 
	if (!_conr)
		return 0;
 
	//Update, Insert, Delete, EXEC vs... gibi komutlar için "ExecuteSQL"
	//komutu kullanılabilir.
	//Bu komut geriye VERİ YIĞINI döndürmez !!!
	//Veri dönüşü için "CRecordset" nesnesi kullanılmaktadır.
 
	dbx.ExecuteSQL(_T("UPDATE Users SET userPassword = '112233' WHERE refId=1")); // UPDATE, INSERT, DELETE vs...
 
	dbx.ExecuteSQL(_T("EXEC dbo.iusers 'mzs','001122';")); // iusers procedur objesinin kullanımı
 
 
 
        //CRecordset ile select sonucunun okunması
	_selectUsr_sql = "SELECT refId, userName, userPassword "
		"FROM users";
 
	cout << "veriler okunuyor..." << endl;
	rs.Open(CRecordset::forwardOnly, _selectUsr_sql, CRecordset::readOnly);
 
 
	while (!rs.IsEOF())
	{
		rs.GetFieldValue(_T("userName"), _userName);
		rs.GetFieldValue(_T("userPassword"), _userPassword);
 
		cout << _userName << endl;
 
		rs.MoveNext();
	}
 
	dbx.Close();
 
	cout << "okuma tamamlandi." << endl;
 
	return 0;
}


Not: <afxdb.h> başlığı Veri tabanı nesnesi olan "CDatabase" ve bağıntılarını içeren dosyadır ve INCLUDE edilmelidir. Uygulama VC++ 2015 ile test edilmiştir.


KeyWords: Connect SQL Server with VC++ MFC, read data sql server vc++, execute procedure with vc++ mfc


Düzenleyen murat turan - 14.Haziran.2016 Saat 16:51
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14.Haziran.2016 Saat 16:48
Test de kullanılan tablo:
CREATE TABLE [dbo].[users](
    [refId] [int] IDENTITY(1,1) NOT NULL,
    [userName] [varchar](50) NOT NULL,
    [userPassword] [varchar](50) NOT NULL,
    [isAdmin] [bit] NOT NULL,
 CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED
(
    [refId] ASC
))


Procedure:
CREATE PROCEDURE [dbo].[iusers]
    @userName varchar(50),
    @userPassword varchar(50)
AS
BEGIN
    SET NOCOUNT ON;
    INSERT INTO users(userName, userPassword, isAdmin)
    VALUES(@userName, @userPassword, 0);
END


Düzenleyen murat turan - 14.Haziran.2016 Saat 16:49
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,141 Saniyede Yüklendi. [power by : WebWiz]