Сообщение об ошибке OLE
Я пишу программу на C#.Net 2010 в клиентском профиле.Net Framework 4.0 с SQL Server CE 3.5 SP2 с использованием ADO.Net. Я упаковал свое приложение с помощью расширенного установщика и включил в него необходимые компоненты: SQLServerCe 3.5 SP2, клиент.Net Framework 4.0 и установщик Windows 3.1 в загрузчик установки. Я использую Win 8 Pro и не испытываю проблем с установкой и запуском программы, но когда она установлена на другом компьютере под управлением Win XP, при запуске приложения (после успешной установки) отображается "Сообщение об ошибке OLE". В чем может быть причина и как я могу это решить? (При загрузке основной формы взаимодействие с базой данных отсутствует). Вот полный код основной формы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
namespace StudentLoanArchives
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void خروجToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("آیا مطمئن هستید؟", "خروج از برنامه", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading);
if (dr == DialogResult.Yes) Application.Exit();
}
private void عملیاتاولیهToolStripMenuItem_Click(object sender, EventArgs e)
{
string createTable = "CREATE TABLE Bank (bankName nvarchar(20) PRIMARY KEY NOT NULL)";
DataBaseClass.MessageShow(DataBaseClass.ExecuteSQL(createTable), "عمليات با موفقيت انجام پذيرفت", "در انجام عمليات خطا رخ داد");
createTable = "CREATE TABLE Student (studentNo nvarchar(12) PRIMARY KEY NOT NULL, studentFName nvarchar(50), studentLName nvarchar(50) NOT NULL)";
DataBaseClass.MessageShow(DataBaseClass.ExecuteSQL(createTable), "عمليات با موفقيت انجام پذيرفت", "در انجام عمليات خطا رخ داد");
createTable = "CREATE TABLE Loan (loanNo nvarchar(20) PRIMARY KEY NOT NULL, loanAmount nvarchar(15) NOT NULL, loanDate nvarchar(10), studentNo nvarchar(12) NOT NULL)";
DataBaseClass.MessageShow(DataBaseClass.ExecuteSQL(createTable), "عمليات با موفقيت انجام پذيرفت", "در انجام عمليات خطا رخ داد");
createTable = "CREATE TABLE Payment (payNo nvarchar(20) PRIMARY KEY NOT NULL, payAmount nvarchar(15) NOT NULL, bankName nvarchar(20) NOT NULL, payDate nvarchar(10) NOT NULL, branchCode nvarchar(10), branchName nvarchar(30), loanNo nvarchar(20), payComment ntext)";
DataBaseClass.MessageShow(DataBaseClass.ExecuteSQL(createTable), "عمليات با موفقيت انجام پذيرفت", "در انجام عمليات خطا رخ داد");
}
private void frmMain_Load(object sender, EventArgs e)
{
PersianCalendar pc = new PersianCalendar();
DateTime GregDate = new DateTime();
GregDate = DateTime.Now;
string month = pc.GetMonth(GregDate).ToString();
string day = pc.GetDayOfMonth(GregDate).ToString();
string weekday = pc.GetDayOfWeek(GregDate).ToString();
switch (month)
{
case "1":
month = "فروردين";
break;
case "2":
month = "اردي بهشت";
break;
case "3":
month = "خرداد";
break;
case "4":
month = "تير";
break;
case "5":
month = "مرداد";
break;
case "6":
month = "شهريور";
break;
case "7":
month = "مهر";
break;
case "8":
month = "آبان";
break;
case "9":
month = "آذر";
break;
case "10":
month = "دي";
break;
case "11":
month = "بهمن";
break;
case "12":
month = "اسفند";
break;
}
switch (weekday)
{
case "Sunday":
weekday = "يك شنبه";
break;
case "Monday":
weekday = "دوشنبه";
break;
case "Tuesday":
weekday = "سه شنبه";
break;
case "Wednesday":
weekday = "چهارشنبه";
break;
case "Thursday":
weekday = "پنج شنبه";
break;
case "Friday":
weekday = "جمعه";
break;
case "Saturday":
weekday = "شنبه";
break;
}
lblDate.Text = weekday + " " + day + " " + month + " " + pc.GetYear(GregDate).ToString();
lblTime.Text = pc.GetHour(GregDate).ToString() + " : " + pc.GetMinute(GregDate).ToString() + " : " + pc.GetSecond(GregDate).ToString();
}
private void tmrTime_Tick(object sender, EventArgs e)
{
lblTime.Text = DateTime.Now.Hour.ToString() + " : " + DateTime.Now.Minute.ToString() + " : " + DateTime.Now.Second.ToString();
}
private void بانکToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmBanks()).ShowDialog(this);
}
private void دربارهToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("برنامه ی ثبت وام های دانشجویی\nبرنامه نویس : بابک تبیانیان\nشماره ی پشتیبانی : 09358285821","درباره ی برنامه",MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1,MessageBoxOptions.RightAlign);
}
private void کارکنانToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmStudents()).ShowDialog(this);
}
private void وامToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmLoans()).ShowDialog(this);
}
private void پرداختToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmPayments()).ShowDialog(this);
}
private void جستجوToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmQuery()).ShowDialog(this);
}
private void پشتيبانگيريToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmBackup()).ShowDialog(this);
}
private void بازگردانیاطلاعاتToolStripMenuItem_Click(object sender, EventArgs e)
{
(new frmRestore()).ShowDialog(this);
}
}
}