VC++ MFC ile SQL Server 'a nasıl bağlanırım |
Yanıt Yaz |
Yazar | |
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla
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, false, false, _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 |
|
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla 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 |
|
Yanıt Yaz |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |