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

عندي مشكلة فى الحاق قاعدة اليانات للبرنامج الذي صممته

بدأه coodcood في 1 مارس 2008 · 7 رد · 1,072 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا والحمد لله صممت برنامج بي C#2005 ,و معه قاعدة بيانات MSSQL 2000 ولكن اريد ان اعمل attachment For database وهذا قد فعلته فعلا ولكن عن تقفيل البرنامج واحوله ال ملف exe. وعند الضغط على البرنامج يظهر هذا الخطأ

وللعم ان مدير العبقري لا يرد ان اضع سيرفر لكي يقوم بدعم الداتا بيز او تنصيب SQL على اجهزة العملاء بل هو يرد ان البرنامج يقوم بالعمل بدون داتا بيز ملحقة له يردها ان تكون داخل الابلكيشن .

,ومع البحث و متابعة الخطأ اتضح لي ان عن عملية running يقوم البرنامج بنسخ نفس ملف الداتابيز فى ال din/debug

,ولها يظهر هذه الخطأ ولكن لم اقدر على حل هذا المشكلة احتاج الى مبرمج اكتر خبرة منى لكي يوضح ليه خطواط حل هذه المشكلة

انا مهدد بضياع وظيفتي لان حتى الان لم اقم بتسليم هذا البرنامج بالرغم من الانتهاء منه كبرمجة .

انتظر الردود والمساعدة من اخوانى

وجزاكم الله كل خير

post-142625-1204379613_thumb.jpg

#2

مرحبا عزيزتي

لا أعلم إن كان ردي سينفعك أم لا

ولكن لماذا لا تعملين

add new data source

from data

وبذلك تربطين الداتا بيس بمشروعك

ولكن قبل ذلك لا بد أن تكون الداتا بيس

في

c:\program file\sql\backup

شكرا لك

#3

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

حاول عمل exe مرة اخري وحاول تقرأ كل رسالة تظهر باهتمام فاحيانا تظهر رسالة تقول ان الداتا بيز غير موجودة في نفس مجلد المشروع هل تريد ارفاقها ؟؟ طبعا اختار no

هذا اقتراح لست متأكدة من الحل

ولكن احيانا كانت تظهر لي هذه الرسالة ودائما كنت اختار No

#5

السلام عليكم ,,

اخوانئ الكرام

احب ان اشكركم جميعا وخالص الشكر علي مساعدتكم لي كلها افكار مهمة ومفيدة واحب ان اشكر خاصة computer_gairl فهذا الحل كان حلا نهائي وفعال فى هذه المشكلة فعلا انا قمت بنفس الخطواط اللى حضرتك قولتى عليها وفعلا نجت بنجاح , واحب ان اضيف شيئ جديد اكلملته فى هذا الحل عندما فعلت add new data source كان هناك عدد كبير من ال combo box مليئة wizerd بداتا صورص اخري وعلى كنكشن استرنج اخرى اللى هي القديمة فعملت تعديل بسيط فى حل المهندسة وهو ان اقوم properities for application / setting هناك يوجد ال connection string العام الذي يقوم ويعمل منه البرنامج فأضعت الداتا بيز فى نفس المكان الذى اشرتي اليه يا مهندسة ولكن ذهبت الى ال connection string القديم وغيرت به مكان الداتابيز الى المكان الجديد الذى ارتي اليه وبهذا كل الكومبوبوكسات الى امتلئت لم تتغير ولا يحدث بها مشكلة .

اشكرك فعلا على الحل البسيط العظيم الذي انقذني وجزاك اللى كل خير ويبارك فيكي .

ولكن الكوميدي فى الموضوع ظهرت لي مشكلة جديد قبل عمل ال deployment كل حاجة والحمد لله تمام فى البرنامج اللى صممته ما عدا الريبورتات التى صممتها كله توقف وعلطت قولت مش مشكلة اعملى من الداتا صورص الجديد لما بضيف stord_proceduer فى التقرير لامكن ان يقرأ ال parameter input يقرا كل النتائج التى سوف تظهر فقط وعندما اشغل الريبورت لم يظهر اى شي .

ارجوكم جميعا للمرة التانية ساعدوني لو حد عنده حل قاطع زي الحل الذي اعطوهوني المهندسة computer_gairl

وجراكم الله كل خير

والسلام عليكم

#6

لو انت رابط التقرير بداتا سيت لما تملا الداتا سيت هيشتغل معاك التقرير بمجرد ملء الداتا سيت

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

ممكن تستخدم الكلاس دي

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace yaser.reports
{
	class rep_connection
	{
		rep_para rep_con = new rep_para();// another class for the report parameters
		public rep_connection()
		{

		}

		public void rep_datadase(ReportDocument rep, CrystalDecisions.Windows.Forms.CrystalReportViewer viewer,params string[]c)
		{

			TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
			TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
			ConnectionInfo crConnectionInfo = new ConnectionInfo();
			Tables CrTables;
			//  Table CrTable;
			// rep = new  ReportDocument();


			crConnectionInfo.ServerName = rep_con.rep_ip();
			crConnectionInfo.DatabaseName = "envent";
			crConnectionInfo.UserID = "admin";
			crConnectionInfo.Password = "admin";
		 //   crConnectionInfo.IntegratedSecurity = true;
			CrTables = rep.Database.Tables;
			foreach (Table CrTable in CrTables)
			{
				crtableLogoninfo = CrTable.LogOnInfo;
				crtableLogoninfo.ConnectionInfo = crConnectionInfo;
				CrTable.ApplyLogOnInfo(crtableLogoninfo);
			}
		  //  rep.Refresh();
			for (int x = 0; x != c.GetLength(0); x++)
			{
				rep.SetParameterValue(x, c[x]);
			}

			viewer.ReportSource = rep;


		}
	}
}

ال rep_para rep_con = new rep_para();// another class for the report parameters دي كلاس اخري بمرر لها البراميتر للتقرير

اما public void rep_datadase(ReportDocument rep, CrystalDecisions.Windows.Forms.CrystalReportViewer viewer,params string[]c)

اجراء لاظهار التقرير وعامة الكود المكتوب داخل الاجراء هو المسؤل عن ال connection مع قاعده البيانات

#7

السلام عليكم

اخ ياسر انا مش فاهم القصة من الاول ولكن احب اوضح ان المشكلة فى ان الداتابيز كان على 2000 ولديها مستخدمين معيينين وبقت على السيكوال 2005 اكسيببريس اعتقد ان المشكلة فى الداتا بيز وليس فى الابليكاشن

وجزاك الله كل خير يات سيدتي

#8

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

ثانيا لو انت شايف ان المشكله في الداتا بيز بسبب اليوزر فممكن تعمل login جديد علي السيرفر الجديد ده اذا كان المشكله في اليوزر

ثالثا انا قلت الطريقتين اللي عارفهم في برمجه التقارير اذ كنت تستخدم طريقه غير دول قول لكي نستطيع تحديد مكان المشكله بالضبط

رابعا الاخطاء اللتي تظهر بعد deploye بتطهر علي نفس الجهاز اللي انت مصمم البرنامج عليه ولا انت بتجرب البرنامج علي جهاز تاني

ولو كان جهاز اخر قاعده البيانات علي هذها الجهاز ولا علي جهاز اخر

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

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

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

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

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

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