• 0
خالد باشنتوف

مساعدة في إعادة صياغ اكواد

سؤال

السلام عليكم

عملت برنامج ب C# 2008 & sql server واريد الان تحول قاعدة البيانات من sql server الى sqlite صادفتني مشكله وهي

ان قاعدة بيانات sqlite ليس لها Stored Procedures حيث ان برنامجي يحتوي على العديد منها ولكن يحتوي على views هل

يمكن ان اكتب اكواد Stored Procedures داخل views وكيف

او بمعنى اخر

ايليكم الاكواد الاتية مطلوب إعادة صياغ ( تحويل ) الاكواد الى ما يناسب قواعد بيانات Sqlite

-----------------------------

ملاحظه الاكواد في الرد اسفل ( رقم 1 )

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

كود sql server   Stored Procedures يحتوي على input & output

ALTER PROCEDURE GetTable2_del_t1	(		@ID_t1 int,	@number int output	)ASSELECT         @number = count(ID_t1)	FROM            Table2	WHERE         (ID_t1 = @ID_t1)

وكود C#

  public int GetTable2_Del_t1(int t_1ID)        {            int n = 0;            SqlCommand com = new SqlCommand("GetTable2_del_t1", cn);            com.CommandType = CommandType.StoredProcedure;            com.Parameters.AddWithValue("@ID_t1", t_1ID);            SqlParameter param = new SqlParameter();            param.ParameterName = "@number";            param.SqlDbType = SqlDbType.Int;            param.Direction = ParameterDirection.Output;            com.Parameters.Add(param);            cn.Open();            com.ExecuteNonQuery();            cn.Close();            n = int.Parse(com.Parameters["@number"].Value.ToString());            return n;        }
تم تعديل بواسطه خالد باشنتوف
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم
اذا كانت الاكواد السابقة غيرمفهومه فهي تحمل نفس الفكر الآتيه
السابقة sql server تحتوي علىStored Procedures وانا الان اريدها بـ sqlite لا تحتوي على Stored

Procedures

كيف اعمل استعلام عن اسم شخص برقم جواله

textbox1 ادخل فيه رقم الجوال
انقر زر بحث (button)
textbox2 يعطينا اسم صاحب رقم الجوال

سي شارب + قواعد بيانات sqlite

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل اخي العزيز

string sql=" SELECT PhoneName From Table1 WHERE [email protected]";DataTable t = new DataTable();            using (System.Data.SQLite.SQLiteConnection con = new System.Data.SQLite.SQLiteConnection("data source=exam.db3"))            {                using (System.Data.SQLite.SQLiteCommand com = new System.Data.SQLite.SQLiteCommand(con))                {                    con.Open();    com.Parameters.Add(new SQLiteParameter("@number",Convert.ToInt16(textbox1.String));                                          com.CommandText = sql;                    com.ExecuteNonQuery();                    DataSet ds = new DataSet();                    SQLiteDataAdapter da = new SQLiteDataAdapter(sql, con);                    da.Fill(ds);                    t = ds.Tables[0];                   textbox1.Text = t.Rows[0][0].ToString();                    con.Close();                        }            } 
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك اخي SAAD12 على هذا الجهد ولكن ظهرت لي بعض الاخطا لكنها انتهت الحمد لله  بقى خطا واحد ان شاء الله في السطر

 sda.Fill(ds);

نص الخطا (SQLite error
Insufficient parameters supplied to the command)

حيث كانت صيغت الكود

 public void nn()        {            DataTable dt = new DataTable();            SQLiteConnection cn = config.getconnction();            string _sql="SELECT name FROM Table1 WHERE id_k [email protected]";            using(SQLiteCommand cmd=new SQLiteCommand (cn))            {                cn.Open();                cmd.Parameters.Add(new SQLiteParameter("@ID1", Convert.ToInt32(textBox1.Text)));                cmd.CommandText = _sql;                cmd.ExecuteNonQuery();                DataSet ds = new DataSet();                SQLiteDataAdapter sda = new SQLiteDataAdapter(_sql,cn);                sda.Fill(ds);                dt = ds.Tables[0];                textBox2.Text = dt.Rows[0][0].ToString();                cn.Close();                         }        }

انا بحثت في google  وجد كود عدلت عليه نجحت في التعديل ولكني افضل الكود الذي ارسلته لانه يحتوى على Parameters تزيد قوه وامان في البرمجه أليكم الكود المعدل للفائده .
 

public void n(int d)        {                                SQLiteConnection cn = config.getconnction();          string s_sqlite = "SELECT name FROM Table1 WHERE id_k ="+d.ToString();            cn.Open();            SQLiteCommand cmd = new SQLiteCommand(s_sqlite, cn);                            SQLiteDataReader myr = cmd.ExecuteReader();                if (myr.Read())                {                    textBox2.Text = myr.GetString(0);                }            else                {                textBox2.Text="لاتوجد بيانات";                }            cn.Close();                                   }

اخي SAAD12 حاول التعرف على الخطا في الكود السابق جزاك الله خير
وياريت لو بتكون جملت الاستعلام بهذه الطريقة لك الاختيار

SELECT @name=name FROM Table1 WHERE id_k [email protected]
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

شكرا لك اخي SAAD12 على هذا الجهد ولكن ظهرت لي بعض الاخطا لكنها انتهت الحمد لله  بقى خطا واحد ان شاء الله في السطر

 sda.Fill(ds);

نص الخطا (SQLite error

Insufficient parameters supplied to the command)

حيث كانت صيغت الكود

 public void nn()        {            DataTable dt = new DataTable();            SQLiteConnection cn = config.getconnction();            string _sql="SELECT name FROM Table1 WHERE id_k [email protected]";            using(SQLiteCommand cmd=new SQLiteCommand (cn))            {                cn.Open();                cmd.Parameters.Add(new SQLiteParameter("@ID1", Convert.ToInt32(textBox1.Text)));                cmd.CommandText = _sql;                cmd.ExecuteNonQuery();                DataSet ds = new DataSet();                SQLiteDataAdapter sda = new SQLiteDataAdapter(_sql,cn);                sda.Fill(ds);                dt = ds.Tables[0];                textBox2.Text = dt.Rows[0][0].ToString();                cn.Close();                         }        }

انا بحثت في google  وجد كود عدلت عليه نجحت في التعديل ولكني افضل الكود الذي ارسلته لانه يحتوى على Parameters تزيد قوه وامان في البرمجه أليكم الكود المعدل للفائده .

 

public void n(int d)        {                                SQLiteConnection cn = config.getconnction();          string s_sqlite = "SELECT name FROM Table1 WHERE id_k ="+d.ToString();            cn.Open();            SQLiteCommand cmd = new SQLiteCommand(s_sqlite, cn);                            SQLiteDataReader myr = cmd.ExecuteReader();                if (myr.Read())                {                    textBox2.Text = myr.GetString(0);                }            else                {                textBox2.Text="لاتوجد بيانات";                }            cn.Close();                                   }

اخي SAAD12 حاول التعرف على الخطا في الكود السابق جزاك الله خير

وياريت لو بتكون جملت الاستعلام بهذه الطريقة لك الاختيار

SELECT @name=name FROM Table1 WHERE id_k [email protected]

ياريت ترسل مشروعك بدون بيانات لأني اشوف الكود صحيح ومافيه غلط

مع تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا هو المشروع (يحتوى على الخطأ) الذي انفذ عليه الاكواد ثم انقلها الى مشروعي

 

اسف على التأخير - بسبب ضعف الانترنت

 

مرفوع على مركز الخليج

http://www.gulfup.net/do.php?id=432358

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .