我使用 ADO.Net 在带有 SQL Server CE 3.5 SP2 的 .Net Framework 4.0 Client Profile 中的 C#.Net 2010 中编写了一个程序。我已经通过 Advanced Installer 打包了我的应用程序,并在安装引导程序中包含了先决条件:SQLServerCe 3.5 SP2、.Net Framework 4.0 客户端和 windows installer 3.1。我使用 Win 8 Pro,安装和运行程序没有问题,但是当它安装在另一台运行 Win XP 的 PC 上时,启动应用程序时(安装成功后)显示“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);
}
}
}