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

مع الادو _جمله الاستعلام تعمل ع الاكسيس ولا تعمل ع الا اس كيو ال

مغلق
بدأه general في 5 أغسطس 2007 · 9 رد · 1,033 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مرفق البرنامج ومعه قاعدتى بيانات من النوعين

Access and SQL

يوجد عدد اثنين بروفيدر فى الفورم لود

احدهما للاكسيس والاخر لل اس كيو ال

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

وشغل البرنامج ثم اضغط على مفتاح عرض تظهر الرساله التاليه

Create View or Function failed because no column name was specified for column 2.

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

عد واضبط البروفيدر على قاعده البيانات اكسيس والتى هى موجوده داخل مجلد الديبج

سوف يعمل البرنامج ولكــــــــــــــــن

احد تجميع الحقول خطأ

المفروض انه يجمع حقول من الجدول الاول ويضعهم فى الخانه الاولى للاستعلام

ويجمع حقول من الجدول الثانى ويضعهم فى الخانه الثانيه للاستعلام

سوف تجد التجميع خطأ لاحد الخانتين

فى انتظار الرد

وشكرا

Query.rar

#2

هل حاولت تعمل Debug للمشروع وتجرب جمل SQL على الداتابيس مباشرة ..

#3

السلام عليكم

شكرا اخى للمتابعه

فى الحقيقه لم اتطرق لموضوع الديبج اطلاقا ولم اتعامل معه

فقط احاول اعاده النظر للجمله واعلم ان هذا يعد قصورا شديدا

ارجو التوضيح وكيفيه التعامل حيث ان هذا الخطأ لى معه فتره طويله

وشكرا

#4

السلام عليكم....

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

أخي الكريم .. اولا كيف الحال

ثانيا مكتبات (الفئات) التعامل مع قاعدة بيانات من نوع أكسيس تختلف عن المكتبات التي تتعامل مع قاعدة بيانات من نوع Sql server

فقاعدة بيانات access فلها فضاء الأسم NameSpace التالي

Imports System.Data.OleDb

المزود الخاص بها هو التالي

dim da as new oledataAdapter

اما حينما نتعامل مع قاعدة بيانات من نوع Ms SqlServer فلها مكتبات خاصة بها ؟

ففضاء الاسماء الخاص بها هو التالي

Imports System.Data.sqlclient

dim da as new SqlDataAdapter

ارجو أن أكون وضحت اليك

والسلام خير ختام

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#5

بالنسبة للخطأ

اقتباس
Create View or Function failed because no column name was specified for column 2

فهو عند انشاء view وعدم وجود مسميات للحقول مثل

create view as select max(no ) from mytable

سيظهر بها خطأ والصحيح يجب ان تكون

create view as select max(no ) as xxx from mytable

#6

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

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

شكرا لك اخى فلسطيننا - الحمد لله بخير

وشكرا للمتابعه - ان التعامل مع التقنيه OLEDB تصلح فى الحالتيين منفصلتين على حد علمى

ولكن فى حال انى سوف اتعامل معهما فى نفس الوقت(كما يبدو ظاهرا من الملف المرفق) فلابد كما قلت يا اخى

اللجوء الى sqlclient ولكنى ارفقت الحالتين بهدف توضيح المشكله ولم اكن ارغب فى التعامل مع الحالتين معا

وفقك الله وايانا لما فيه صالح الاعمال

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

شكرا لك اخى TareqVB لقد اصبت ما كنت اريد حقا

لقد كنت احاول فى حل هذه المشكله منذ فتره طويله تزيد عن الشهر

ثم لجأت للمنتدى والحمد لله الذى جعلك سببا لاتمامه

الحمد لله تم تنفيذ الكود

وفقك الله وايانا لما فيه صالح الاعمال

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

لا اريد ان اثقل عليكم عذرا ولكن هناك امرا ما بعد تنفيذ الكود

ان التجميع الاول لمجموع الحقول فى الجدول الاول تجميع سليم ولا غبار عليه

ولكن التجميع الثانى لمجموع الحقول للجدول الثانى يكون الرقم متضاعفا

s = "create view Glose as select come.sction as aaa ,sum(come.v_in)as bbb , sum(costs.v_out)as ccc from come inner join costs on come.sction = costs.sction group by come.sction"

تجميع bbb تجميع سليم كما يطلب الكود - انظر الكود اعلى

تجميع ccc تجميع مضاعف كما لم يطلب الكود ؟؟؟؟؟؟؟

وهذا ما حدث مع الاكسيس ايضا وقد ذكرت هذا فى محتوى الرساله باعلى

منتظر الرد

شكرا جزيلا لكم لحسن المتابعه

واكثر الله من امثالكم

#7

هي فعلا بحاجة الى معالجة بطريقة اخرى اي لا تنفع بهذه الطريقة لذلك اعمل 2 view

1 - select come.sction a ,sum(come.v_in) as bbb

2- select costs.sction ,sum(costs.v_out)

وبعد ذلك اعمل ربط بينهم

#8

السلم عليكم

جزيل الشكر لتمام المتابعه معى اخى الكريم TareqVB

انا احاول فى معالجه هذا الامر المضاعف لتجميع الداله بعدما تفضلت مشكورا

بتنبيهى للخطأ الذى عرضته انا مسبقا

ولكنى لاحظت ان التضاعف يحدث عندما تتكرر خانتين من bbb امام خانه واحده من ccc

اى انه ينظر ماذا يقابل هذه الخانه ان لم يجد فيضع افتراضى لها الرقم الموجود مسبقا

وعندما تقابل كل خانه امامها واحده فقط لا يحدث التضاعف

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

عذرا لم افهم ما تعنى بخصوص انشاء استعلامين

مع العلم انى اسقط_استبدل_ الاستعلام فى كل مره اريد عرضه ع الجريد والكريستال

وهذا يتطلب اسقاط كل الاستعلامات المفترض زيادتها

ع العموم حاولت بالفعل انشاء استعلامين كما ذكرت

ولكـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــن

كيف يتعامل الاستعلام الثالث مع الاستعلامين

بحيث احصل فى النهايه على بيانات التجميع للحقلين فى خانتى الجريد

لقد حاولت وفشلت وهذا مثال المحاوله الفاشله

s1 = "create view G1 as  select sum(income.v_in) as income from income"
s2 = "create view G2 as  select sum(costa.v_out) as cost from costa"
s = "create view Glose as G1 inner join G2 on income.sction = costa.sction group by income.sction"

مشكور اخى

وجزاك الله عنى خيرا

تم تعديل هذه المشاركة بواسطة general في 8 أغسطس 2007 في 03:52

#9

جرب مايلي مع التأكد من اسماء الحقول

s1 = "create view G1 as select sction , sum(income.v_in) as income from income group by sction "

s2 = "create view G2 as select sction , sum(costa.v_out) as cost from costa group by sction"

s = "create view Glose select G1.sction,income,cost as G1 inner join G2 on income.sction = costa.sction "

وبالنسبة لل views ليس من الضروري حذفهم في كل مرة وانما يمكن انشاءهم في قاعدة البيانات لمرة واحدة

#10

السلام عليكم

فيما يبدو بعد تلك المحاولات انه ينبغى تماما ان يقابل الحقل المراد للجدول الاول

نفس العدد للجدول الثانى

الكود بعد التعديل الذى طلبه الكمبيلر

 "s = "create view Glose as select G1.sction,incom,cost from G1 , G2 where G1.sction = G2.sction

من الواضح انى لابد ان اعدل البرمجه بحيث يقابل كل حقل من الجدول الاول v_in مايناظره _ اى نفس العدد_ من الحقل

المرادف له فى الجدول الثانى v_out

هذا على حد علمى

جزاك الله خيرا على وقتك اخى الكريم TareqVB وجعله فى ميزان حسناتك

واثابكم الله خيرا اخوتى الذين شاركوا معى فلسطيننا و scoool

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…