PDA

View Full Version : درخواست : شیوه نوشتن کلاس ارتباط با دیتابیس



ya30ien2
یک شنبه 16 مهر 1391, 13:56 عصر
سلام دوستان
اگه آموزشی درباره چگونگی نوشتن کلاس برای ارتباط با دیتابیس select,insert,delete,update رو دارید لطفا بزارید خیلی احتیاج دارم
ممنون میشم اگه کسی کمکی بکنه

fakhravari
یک شنبه 16 مهر 1391, 15:17 عصر
یه نمونه کامل برای تولید کلاس

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

namespace links
{
public class Links
{
#region Fields And Properties
private static string ConnectionString = Config.Connection;
private int id;
public int id
{
get { return id; }
set { id = value; }
}
private string name;
public string name
{
get { return name; }
set { name = value; }
}
private string adress;
public string adress
{
get { return adress; }
set { adress = value; }
}
private int position;
public int position
{
get { return position; }
set { position = value; }
}
private bool vaziat;
public bool vaziat
{
get { return vaziat; }
set { vaziat = value; }
}
#endregion

#region Constructors
public Links()
{
this.id = 0;
this.name = "";
this.adress = "";
this.position = 0;
this.vaziat = false;
}
public Links(int id)
{
SqlDataReader myReader;
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand command = new SqlCommand("Links_SelectByid", connection);
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 100000000;
command.Parameters.Add("@id", SqlDbType.Int).Value = id;

try
{
connection.Open();
myReader = command.ExecuteReader(CommandBehavior.CloseConnect ion);

if (myReader.Read())
{
this.id = Convert.ToInt32(myReader["id"].ToString());
this.name = myReader["name"].ToString();
this.adress = myReader["adress"].ToString();
this.position = Convert.ToInt32(myReader["position"].ToString());
this.vaziat = Convert.ToBoolean(myReader["vaziat"].ToString());
}
else
{
this.id = 0;
this.name = "";
this.adress = "";
this.position = 0;
this.vaziat = false;
}
}
catch { }

}
#endregion

#region Insert | Update | Delete
public int Links_Insert()
{
int RecordAffected = 0;
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand command = new SqlCommand("Links_Insert", connection);
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 100000000;
command.Parameters.Add("@id", SqlDbType.Int).Direction = ParameterDirection.Output;
command.Parameters.Add("@name", SqlDbType.NVarChar).Value = name;
command.Parameters.Add("@adress", SqlDbType.NVarChar).Value = adress;
command.Parameters.Add("@position", SqlDbType.Int).Value = position;
command.Parameters.Add("@vaziat", SqlDbType.Bit).Value = vaziat;
try
{
if (connection.State == ConnectionState.Closed)
{ connection.Open(); }
command.ExecuteNonQuery();
RecordAffected = (int)command.Parameters["@id"].Value;
}
catch { RecordAffected = 0; }
finally { connection.Close(); }
return RecordAffected;
}
public int Links_Update()
{
int RecordAffected = 0;
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand command = new SqlCommand("Links_Update", connection);
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 100000000;
command.Parameters.Add("@id", SqlDbType.Int).Value = id;
command.Parameters.Add("@name", SqlDbType.NVarChar).Value = name;
command.Parameters.Add("@adress", SqlDbType.NVarChar).Value = adress;
command.Parameters.Add("@position", SqlDbType.Int).Value = position;
command.Parameters.Add("@vaziat", SqlDbType.Bit).Value = vaziat;
try
{
if (connection.State == ConnectionState.Closed)
{ connection.Open(); }
RecordAffected = command.ExecuteNonQuery();
}
catch { RecordAffected = 0; }
finally { connection.Close(); }
return RecordAffected;
}
public int Links_Delete()
{
int RecordAffected = 0;
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand command = new SqlCommand("Links_Delete", connection);
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 100000000;
command.Parameters.Add("@id", SqlDbType.Int).Value = id;
try
{
if (connection.State == ConnectionState.Closed)
{ connection.Open(); }
RecordAffected = command.ExecuteNonQuery();
}
catch { RecordAffected = 0; }
finally { connection.Close(); }
return RecordAffected;
}
#endregion

#region static Function
public static int Links_Delete(int id)
{
int RecordAffected = 0;
SqlConnection connection = new SqlConnection(ConnectionString);
SqlCommand command = new SqlCommand("Links_Delete", connection);
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 100000000;
command.Parameters.Add("@id", SqlDbType.Int).Value = id;
try
{
if (connection.State == ConnectionState.Closed)
{ connection.Open(); }
RecordAffected = command.ExecuteNonQuery();
}
catch { RecordAffected = 0; }
finally { connection.Close(); }
return RecordAffected;
}
#endregion
}
}

fakhravari
یک شنبه 16 مهر 1391, 15:20 عصر
اینم استور ها

CREATE PROCEDURE [dbo].[Links_Update]
(
@id int,
@name nvarchar (50),
@adress nvarchar (50),
@position int,
@vaziat bit
)
AS
UPDATE Links SET
[name] = @name, [adress] = @adress, [position] = @position, [vaziat] = @vaziat
WHERE id = @id

CREATE PROCEDURE [dbo].[Links_SelectByID](@id int)
AS
SELECT
[id], [name], [adress], [position], [vaziat]
FROM Links WHERE id = @id

CREATE PROCEDURE [dbo].[Links_Delete](@id int)
AS
DELETE FROM Links WHERE id = @id

CREATE PROCEDURE [dbo].[Links_Insert]
(
@id int OUTPUT,
@name nvarchar (50),
@adress nvarchar (50),
@position int ,
@vaziat bit
)
AS
INSERT INTO Links
([name], [adress], [position], [vaziat])
VALUES
(@name, @adress, @position, @vaziat)
SET @id = @@IDENTITY

CREATE PROCEDURE [dbo].[Links_Select]
AS
SELECT
[id], [name], [adress], [position], [vaziat]
FROM Links ORDER BY id DESC

ya30ien2
یک شنبه 16 مهر 1391, 18:09 عصر
ممنون از کمکتون
لطفا اگه میشه کاملتر باشه
چون در این مورد خیلی ابتدایی هستم و میخوام از اول شروع کنم
و اگه بشه یک نمونه که فقط از هر کدوم یک نمونه انجام داده باشه وفقط جنبه آموزشی داشته باشه
که زیاد گیج نشم قرار بدید ممون میشم
فقط یک جدول یک دستور انتخاب یک دستور حذف و یک ویرایش
بازم ممنون

fakhravari
یک شنبه 16 مهر 1391, 18:37 عصر
شما اگر بتونید همچین کلاسی تحلیل کنید اوسا هستین :بامزه:

ya30ien2
یک شنبه 16 مهر 1391, 19:25 عصر
شما اگر بتونید همچین کلاسی تحلیل کنید اوسا هستین :بامزه:
خیلی توی اینترنت جستجو کردم
چیزی پیدا نکردم چندتایی که پیدا کردم خیلی پیچیده بود
به زبان فارسی هم که اصلا نیست
آموزش مهندس کیانیان رو هم زیرورو کردم نبود

ya30ien2
دوشنبه 17 مهر 1391, 15:41 عصر
هم اکنون نیازمند یاریتان هستیم

fakhravari
دوشنبه 17 مهر 1391, 18:24 عصر
دوست عزیز بهتر این تاپیک ادامه ندین.
شما اصلا خودتون نمیدونید چی میخواهید.

orca13
سه شنبه 18 مهر 1391, 21:17 عصر
بهترین محل سایت آقای دلشاد هست

آدرس سایت (http://how2learnasp.net/)

فقط قبلش باید یه حداقل هایی رو بدونی، مثلا sp نوشتن، مسایل مربوط به برنامه نویسی شی گرا (تا حدی البته)، لیست مقالات و پیش نیازهایی که آقای دلشاد ذکر کردن رو چک کن و در صورت عدم اطلاع کافی در اون مورد، مطالعه کن، آخر هم برو سراغ مواردی که برای برنامه نویسی و معماری 3 لایه هستش، قطعا مشکلت حل میشه.

موفق باشی.