PDA

View Full Version : درج اطلاعات در SQL با کلاس



mohammad2407
یک شنبه 08 بهمن 1391, 13:00 عصر
سلام دوستان عزیز

من 6 تا فیلد دارم ( نام ، نام خاوادگی ، تقویم و... ) میخوام این فیلد ها رو در بانک اطلاعاتی SQL server 2008 درج کنم و بعد هم فراخوانی کنم

اما با کلاس

یعنی میخوام یک کلاس داشته باشم برای فیلد ها ، کانکشن و دستورات

اگر یک نمونه برنامه برام قرار بدید خیلی عالی میشه و بهتر متوجه میشم

راسش من در زمینه کار با کلاس ها در سی شارپ خیلی خیلی ضعیف هستم ...:گریه:

ممنون

patrick5053
یک شنبه 08 بهمن 1391, 13:11 عصر
توي كلاست چندتا متغير تعريف كن و اين متغيرها رو در دستور insert into اسفاده كن، و اون متغيرها رو از طريق برنامت مقدار بده.

mohammad2407
یک شنبه 08 بهمن 1391, 13:16 عصر
اگر میشه یک نمونه برنامه به من بدید بهتر متوجه میشم

website.expert
یک شنبه 08 بهمن 1391, 13:17 عصر
بهتره در مورد oop مطالعه کنی.
چیزی نیست که بشه تو دو خط گفت.

patrick5053
یک شنبه 08 بهمن 1391, 13:34 عصر
اينم مثال
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Runtime.InteropServices;
using Microsoft.Win32;

namespace Scale
{
class sql
{
static public SqlConnection connection = new SqlConnection();
static public SqlCommand command = new SqlCommand();
static public SqlDataReader reader;
static public SqlDataAdapter adapter = new SqlDataAdapter();
static public DataTable table = new DataTable();
static public string nam();
static public string namekhanevadegi();
static public string query;
}

static public DataTable order()
{
creatconnection();
query = "insert into نام بانك (nam, namekhanevadegi)";
SqlDataAdapter da = new SqlDataAdapter(query, sql.connection);
DataTable dtt = new DataTable();
da.Fill(dtt);
connection.Close();
return dtt;
}
}
}
توي برنامت فقط كافيه اون دوتا متغير nam و namekhanevadegi رو مقدار بدي و بعد تابع order() رو اجرا كني به اين شكل
sql.nam = textbox1.tex.trim();
sql.namekhanevadegi = textbox1.tex.trim();
اينطوري هم كلاس رو اجرا كن.
sq;.order();
موفق باشي.

patrick5053
یک شنبه 08 بهمن 1391, 13:38 عصر
شايد سورس بهم ريخته باشه چون از يكي از برنامه هام كپي كردم.
ساختار كلي اينه
يك كلاس ايجاد كن
چندتا متغير از نوع استاتيك پابليك تعريف كن
اين متغير ها رو از داخل برنامه مقدار بده
يك تابع براي درج اطلاعات بساز و داخل اون از متغيرها استفاده كن(همون فيلهايي كه ميخواي مقدار بدي در بانك)
بعد تابع رو اجرا كن.
اگه توضيح و مثال رو نگرفتي تا يك مثال مرتب برات بنويسم.

website.expert
یک شنبه 08 بهمن 1391, 16:08 عصر
اينم مثال
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Runtime.InteropServices;
using Microsoft.Win32;

namespace Scale
{
class sql
{
static public SqlConnection connection = new SqlConnection();
static public SqlCommand command = new SqlCommand();
static public SqlDataReader reader;
static public SqlDataAdapter adapter = new SqlDataAdapter();
static public DataTable table = new DataTable();
static public string nam();
static public string namekhanevadegi();
static public string query;
}

static public DataTable order()
{
creatconnection();
query = "insert into نام بانك (nam, namekhanevadegi)";
SqlDataAdapter da = new SqlDataAdapter(query, sql.connection);
DataTable dtt = new DataTable();
da.Fill(dtt);
connection.Close();
return dtt;
}
}
}
توي برنامت فقط كافيه اون دوتا متغير nam و namekhanevadegi رو مقدار بدي و بعد تابع order() رو اجرا كني به اين شكل
sql.nam = textbox1.tex.trim();
sql.namekhanevadegi = textbox1.tex.trim();
اينطوري هم كلاس رو اجرا كن.
sq;.order();
موفق باشي.

دوست عزیز استاتیک برای زمانی هست که اون مقدار واسه همه ی اشیاء یکسانه.
فکر نکنم ایجا کاربردی داشته باشه.
الان این چه ضرورتی داره که استاتیک باشه :
static public SqlCommand command = new SqlCommand();
یا این :
static public DataTable order()
در ضمن مفاهیم کپسوله سازی رو هم رعایت نکردید.
در کل فکر نکنم کلاسی که نوشتید اصولی و صحیح باشه.