HOSSEINGHOLI
شنبه 22 اسفند 1388, 14:28 عصر
من یک کلاس نوشتم که بانک ان بر اساس access بوده
حال اگه بخوام کلاس من بر اساس sql server 2008 باشه باید چیکار کنم؟
مثلا معادل connection string & dataoledata adapter & ... chiye?
برای اجرای query باید چیکار کنم در sql server 2008
نمونه کلاس من اینه
using System;
using System.Data.OleDb;
using System.Data;
using System.Text;
namespace Library_Project
{
class bookDA
{
private OleDbConnection cnn;
//change connection string as per the
//folder you unzip the files
private const string CnnStr =
"Provider=Microsoft.Jet.OLEDB.4.0;Data " +
"Source= D:\\Data\\Library.mdb;";
//local variables
private String strTable="";
private String strFields="";
private String strValues="";
private String insertStr="";
//this needs to be changed based on Books
//table fields' Name of the database!
private const String thisTable = "tblbooks";
private const String book_code = "codebook";
private const String book_name = "bookname";
private const String book_nasher = "nasher";
private const String book_motarjem = "motarjem";
private const String book_shabok = "shabok";
private const String book_mozo = "mozo";
public bookDA()
{
}
public bookDA(bookBL book)
{
// A reference of the business object class
}
//standard dataset function that adds a new customer
public void Add(bookBL book)
{
String str = BuildAddString(book);
OpenCnn();
//Open command option - cnn parameter is imporant
OleDbCommand cmd = new OleDbCommand(str,cnn);
//execute connection
cmd.ExecuteNonQuery();
// close connection
CloseCnn();
}
//standard dataset function that updates
//details of a customer based on ID
public void Update(bookBL book)
{
OpenCnn();
String selectStr = "UPDATE " + thisTable +
" set " + book_name + " = '" + book.Bookname + "'" +
", " + book_nasher + " = '" + book.Nasher + "'" +
", " + book_motarjem + " = '" + book.Motarjem + "'" +
", " + book_shabok + " = '" + book.Shabok + "'" +
", " + book_mozo + " = '" + book.Mozo + "'" +
" where book_code = '" + book.Bookcode + "'";
OleDbCommand cmd = new OleDbCommand(selectStr,cnn);
cmd.ExecuteNonQuery();
CloseCnn();
}
//standard dataset function that finds and
//return the detail of a customer in a dataset
public DataSet Find(String argStr)
{
DataSet ds=null;
try
{
OpenCnn();
String selectStr = "select * from " + thisTable +
" where code_book = '" + argStr + "'";
OleDbDataAdapter da = new OleDbDataAdapter(selectStr,cnn);
ds = new DataSet();
da.Fill(ds,thisTable);
CloseCnn();
}
catch(Exception e)
{
String Str = e.Message;
}
return ds;
}
//standard dataset function that finds and
//return the detail of a customer in a dataset
//----------------------------
public DataSet View()
{
DataSet ds = null;
try
{
OpenCnn();
String selectStr = "select * from " + thisTable + "'";
OleDbDataAdapter da = new OleDbDataAdapter(selectStr, cnn);
ds = new DataSet();
da.Fill(ds, thisTable);
CloseCnn();
}
catch (Exception e)
{
String Str = e.Message;
}
return ds;
}
//----------------------------
private void OpenCnn()
{
// initialise connection
String cnnStr = CnnStr;
cnn = new OleDbConnection(cnnStr);
// open connection
cnn.Open();
}
private void CloseCnn()
{
// 5- step five
cnn.Close();
}
// just a supporting function that builds
// and return the insert string for dataset.
private String BuildAddString(bookBL book)
{
// these are the constants as
// set in the top of this module.
strTable="Insert into " + thisTable;
strFields = " (" + book_code +
"," + book_name +
"," + book_nasher +
"," + book_motarjem +
"," + book_shabok +
"," + book_mozo + ")";
//these are the attributes of the
//customer business object.
strValues = " Values ( '" + book.Bookcode +
"' , '" + book.Bookname +
"' , '" + book.Nasher +
"' , '" + book.Motarjem +
"' , '" + book.Shabok +
"' , '" + book.Mozo + "' )";
insertStr = strTable + strFields + strValues;
return insertStr;
}
}
}
حال اگه بخوام کلاس من بر اساس sql server 2008 باشه باید چیکار کنم؟
مثلا معادل connection string & dataoledata adapter & ... chiye?
برای اجرای query باید چیکار کنم در sql server 2008
نمونه کلاس من اینه
using System;
using System.Data.OleDb;
using System.Data;
using System.Text;
namespace Library_Project
{
class bookDA
{
private OleDbConnection cnn;
//change connection string as per the
//folder you unzip the files
private const string CnnStr =
"Provider=Microsoft.Jet.OLEDB.4.0;Data " +
"Source= D:\\Data\\Library.mdb;";
//local variables
private String strTable="";
private String strFields="";
private String strValues="";
private String insertStr="";
//this needs to be changed based on Books
//table fields' Name of the database!
private const String thisTable = "tblbooks";
private const String book_code = "codebook";
private const String book_name = "bookname";
private const String book_nasher = "nasher";
private const String book_motarjem = "motarjem";
private const String book_shabok = "shabok";
private const String book_mozo = "mozo";
public bookDA()
{
}
public bookDA(bookBL book)
{
// A reference of the business object class
}
//standard dataset function that adds a new customer
public void Add(bookBL book)
{
String str = BuildAddString(book);
OpenCnn();
//Open command option - cnn parameter is imporant
OleDbCommand cmd = new OleDbCommand(str,cnn);
//execute connection
cmd.ExecuteNonQuery();
// close connection
CloseCnn();
}
//standard dataset function that updates
//details of a customer based on ID
public void Update(bookBL book)
{
OpenCnn();
String selectStr = "UPDATE " + thisTable +
" set " + book_name + " = '" + book.Bookname + "'" +
", " + book_nasher + " = '" + book.Nasher + "'" +
", " + book_motarjem + " = '" + book.Motarjem + "'" +
", " + book_shabok + " = '" + book.Shabok + "'" +
", " + book_mozo + " = '" + book.Mozo + "'" +
" where book_code = '" + book.Bookcode + "'";
OleDbCommand cmd = new OleDbCommand(selectStr,cnn);
cmd.ExecuteNonQuery();
CloseCnn();
}
//standard dataset function that finds and
//return the detail of a customer in a dataset
public DataSet Find(String argStr)
{
DataSet ds=null;
try
{
OpenCnn();
String selectStr = "select * from " + thisTable +
" where code_book = '" + argStr + "'";
OleDbDataAdapter da = new OleDbDataAdapter(selectStr,cnn);
ds = new DataSet();
da.Fill(ds,thisTable);
CloseCnn();
}
catch(Exception e)
{
String Str = e.Message;
}
return ds;
}
//standard dataset function that finds and
//return the detail of a customer in a dataset
//----------------------------
public DataSet View()
{
DataSet ds = null;
try
{
OpenCnn();
String selectStr = "select * from " + thisTable + "'";
OleDbDataAdapter da = new OleDbDataAdapter(selectStr, cnn);
ds = new DataSet();
da.Fill(ds, thisTable);
CloseCnn();
}
catch (Exception e)
{
String Str = e.Message;
}
return ds;
}
//----------------------------
private void OpenCnn()
{
// initialise connection
String cnnStr = CnnStr;
cnn = new OleDbConnection(cnnStr);
// open connection
cnn.Open();
}
private void CloseCnn()
{
// 5- step five
cnn.Close();
}
// just a supporting function that builds
// and return the insert string for dataset.
private String BuildAddString(bookBL book)
{
// these are the constants as
// set in the top of this module.
strTable="Insert into " + thisTable;
strFields = " (" + book_code +
"," + book_name +
"," + book_nasher +
"," + book_motarjem +
"," + book_shabok +
"," + book_mozo + ")";
//these are the attributes of the
//customer business object.
strValues = " Values ( '" + book.Bookcode +
"' , '" + book.Bookname +
"' , '" + book.Nasher +
"' , '" + book.Motarjem +
"' , '" + book.Shabok +
"' , '" + book.Mozo + "' )";
insertStr = strTable + strFields + strValues;
return insertStr;
}
}
}