الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Class Data Access

بدأه MasterDotNet في 13 يوليو 2009 · 2 رد · 335 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

ديناميك Asp فى مشكلة فى إنشاء كلاس لبناء البروسيجر والكوماند والبرامتر فى صفحات

private void biuldParameter(SqlCommand com, Page p)

{

for (int x = 0; x < p.Controls.Count;x++ )

{

Control c = p.Controls[x];

string s = c.ID.Substring(0, 3);

if (s == "var")

{

string[] divide = c.ID.Split('-');

string param = divide[1];

param=param.Insert(0,"@");

string datatype = divide[2];

int lenghth = Convert.ToInt32(divide[3]);

SqlParameter P;

if (datatype == "nvar")

{

P = com.Parameters.Add(Param, SqlDbType.NVarChar, lenghth);

P.Value = c.Text

السى بتساوى الكنترول

المشكلة إنى عايز أكتب السى دوت التيكست

p.Value = c.Text;زى ما أنا عاملها فى الويندوز أبلكيشن

مش موجوده

اللى موجود

c.NamingContainer

هل هوه نفس الغرض ولا لا ؟

#2

يجب تحويل الكونترول إلى النوع المناسب أولاً. في حالة كان الكونترول تكستبوكس مثلاً

((TextBox)C).Text

تذكر أن الـ#C هي case sensitive أي أن هناك فرق بين الحروف الكبيرة و الصغيرة

#3

السلام عليكــم ورحمـة الله وبركاتــه ،،

أشكرك أستاذى

لكن بيطلع إيرور فى بعض السطر فى الكلاس وهدا هو الكلاس

public class DB

{

public SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["sceco"].ToString());

private string x;

public int data(string ProcName, SqlConnection con, Page p)

{

x = ProcName;

con = this.con;

con.Open();

SqlCommand com = new SqlCommand();

com.biuldCommand(com, p);

int z = com.ExecuteNonQuery();

if (z > 0)

{

con.Close();

return 1;

}

else

{

con.Close();

return -1;

}

}

//----------------------------------------

private SqlCommand BiuldCommand(SqlCommand com, Page p)

{

com.CommandType = CommandType.StoredProcedure;

com.CommandText = x;

com.Connection = con;

biuldParameter(com, p);

return com;

}

//------------------------------------------

private void biuldParameter(SqlCommand com, Page p)

{

for (int x = 0; x < p.Controls.Count;x++ )

{

Control c = p.Controls[x];

string s = c.ID.Substring(0, 3);

if (s == "var")

{

string[] divide = c.ID.Split('-');

string param = divide[1];

param=param.Insert(0,"@");

string datatype = divide[2];

int lenghth = Convert.ToInt32(divide[3]);

SqlParameter P;

if (datatype == "nvar")

{

P = com.Parameters.Add(param, SqlDbType.NVarChar, lenghth);

P.Value = ((TextBox)c).Text;

}

else if(datatype=="data")

{

P = com.Parameters.Add(param,SqlDbType.DateTime,lenghth);

P.Value =Convert.ToDateTime((TextBox)c).Text;

}

else if (datatype=="int")

{

P = com.Parameters.Add(param,SqlDbType.Int,lenghth);

P.Value = Convert.ToInt32((TextBox)c).Text;

}

else if (datatype == "nchar")

{

P = com.Parameters.Add(param,SqlDbType.NChar,lenghth);

P.Value = ((TextBox)c).Text;

}

}

}

}

مواضيع مشابهة