PDA

View Full Version : اتصال به SQL Server



pars.engineer
سه شنبه 14 خرداد 1387, 13:47 عصر
سلام،
شايد اين اين سئوالي كه مي خوام بپرسم بارها مطرح شده باشه ولي فكر نمي كنم تا حالا به اين شكل مطرح شده باشه.
سئوال در مورد اتصال به SQL Server است.
1) بهترين روش براي اتصال به يك بانك اطلاعاتي كه به طور كلي مقدار كمي اطلاعات بين اينتر فيس و بانك در يك روز جابجا مي شود چه روشي است. لازم به ذكر است كه من در استفاده از كد زير براي اتصال به مشكل برخوردم:



public partial class Form1 : Form
{
SqlConnection objConnection = new SqlConnection("server=localhost;database=pubs;"+
"user id=sa;password=");
SqlDataAdapter objdataAdapter = new SqlDataAdapter();


DataSet objDataSet = new DataSet();






private void Form1_Load(object sender, EventArgs e)
{
objdataAdapter.SelectCommand = new SqlCommand();
objdataAdapter.SelectCommand.Connection = objConnection;
objdataAdapter.SelectCommand.CommandText =
"SELECT au_lname, au_fname, title, price " +
"FROM authors" +
"JOIN titles ON titleauthor.title_id=" +
"titles.title_id" +
"ORDER BY au_lname, au_fname";
objdataAdapter.SelectCommand.CommandType = CommandType.Text;
//open dataBase


objConnection.Close();
grdAuthorTitles.AutoGenerateColumns = true;
grdAuthorTitles.DataSource = objDataSet;
grdAuthorTitles.DataMember = "authors";
objdataAdapter = null;
objConnection = null;


}





لطفا اگر روشي را پيشنهاد مي كنيد لينك يك نمونه برنامه كه در آن از آن روش استفاده شده را قرار دهيد يا لينك كد مربوطه.


2) براي اجراي دستورات SELECT, UPDATE, INSERT,DELETE از چه روشي استفاده شود بهتر است.(اينكه كد ها را در خود محيط C# بنويسيم و يا اينكه Stored Procedure در SQL بنويسيم بعد فراخواني كنيم).
اگر در مورد فراخواني sp هايي كه داراي پارامتر هستند مثل sp زير هم قطعه برنامه اي داريد يا لينك توضيحي داريد ممنون مي شوم اگر راهنمايي كنيد.




use Table
GO
CREATE PROCEDURE sp_FindColorBetweenMin_Max
,@min int
@max int
AS
SELECT YarnGenre, YarnColorCode, YarnStore, StoreDate
FROM tblYarnStore
WHERE YarnStore BETWEEN @min AND @max

captain_black81
سه شنبه 14 خرداد 1387, 15:31 عصر
دوست عزیز پیشنهاد میکنم برای هر Stored procedure یا سلکت یک کلاس بنویسید. حالا بستگی داره که چه کاری بخواین انجام بدید
[
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace target
{
public class okall
{
public void insert(int orderintCode,string okdate,int okpers)
{
//Connecting to SQL-Kian-Anbar
SqlConnection cnm = new SqlConnection();
general g = new general();
cnm.ConnectionString = g.cnm;

//Stored Procedure Define
SqlCommand cm = new SqlCommand();
cm.Connection = cnm;
cm.CommandText = "okorder";
cm.CommandType = CommandType.StoredProcedure;
// SQL Parameters Defined here
SqlParameter P1 = new SqlParameter("@orderintcode", SqlDbType.Int);
SqlParameter P2 = new SqlParameter("@perscode", SqlDbType.Int);
SqlParameter P3 = new SqlParameter("@okdate", SqlDbType.NVarChar,20);


P1.Value = orderintCode;
cm.Parameters.Add(P1);
P2.Value = okpers;
cm.Parameters.Add(P2);
P3.Value = okdate;
cm.Parameters.Add(P3);




// Openning Connection and insert Proggress
cnm.Open();
cm.ExecuteNonQuery();
cnm.Close();
//connection Closed Here.
}

}}
][/CODE]