📄 changanrpt.cs
字号:
using System;
using System.Net;
using System.IO;
using System.Text;
using System.Drawing;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Windows.Forms;
namespace PrintApp
{
/// <summary>
/// ChangAnRPT 的摘要说明。
/// </summary>
public class ChangAnRPT
{
private string strServerName= "";
private string strDatabase = "";
private string strUserID = "";
private string strPassword = "";
private string strTable = "";
private string strCon = "";
private string strComputer = "";
//ADO.NET Variables
private OleDbConnection adoOleDbConnection;
private DataSet dataSet;
public ChangAnRPT()
{
strServerName= "";
strDatabase = "";
strUserID = "";
strPassword = "";
strTable = "";
strCon = "";
strComputer = "";
}
/// <summary>
/// 该函数用来实现连接
/// </summary>
/// <param name="Server">服务器名</param>
/// <param name="Database">数据库名</param>
/// <param name="TableName">表名(可选)</param>
/// <param name="UserID">用户名</param>
/// <param name="Password">访问密码</param>
public void SetConnectionInfo(string Server, string Database, string UserID, string Password)//strTable, strServerName, strDatabase, strUserID, strPassword
{
// 设置连接参数
strCon = "Provider=SQLOLEDB;";
strCon += "Server=";
strCon += Server;
strCon += ";";
strCon += "Database=";
strCon += Database;
strCon += ";";
strCon += "User ID=";
strCon += UserID;
if(Password != "")
{
strCon += ";Password=";
strCon += Password;
}
strServerName = Server;
strDatabase = Database;
strUserID = UserID;
strPassword = Password;
dataSet = new DataSet();
adoOleDbConnection = new OleDbConnection(strCon);
adoOleDbConnection.Open();
strComputer = Dns.GetHostName();
}
/// <summary>
/// 此函数设置打印源
/// </summary>
/// <param name="TableName">打印的表名/param>
private void SetDataSet(string TableName)
{
string strSQL = "Select * From ";
strSQL += TableName;
strSQL += " Where ComputerName = ";
strSQL += "'";
strSQL += strComputer;
strSQL += "'";
strSQL += " Order by OrderNumber";
strTable = TableName;
try
{
OleDbDataAdapter adoOleDbDataAdapter = new OleDbDataAdapter(strSQL, adoOleDbConnection);
adoOleDbDataAdapter.Fill(dataSet, strTable);
}
catch(OleDbException e)
{
string errorMessage = "Message: " + e.Message + "\n" +
"ErrorCode: " + e.ErrorCode + "\n" +
"Source: " + e.Source + "\n";
MessageBox.Show (errorMessage, "异常信息",
MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
}
}
/// <summary>
/// 打印出货报表
/// </summary>
/// <param name="RpttViewer">报表预览对象</param>
public void PrintOutStoreLabel(CrystalReportViewer RpttViewer)
{
SetDataSet("TmpOutStoreLabel");
OutStoreLabelRPT rpt = new OutStoreLabelRPT();
rpt.SetDataSource(dataSet.Tables[this.strTable]);
if(RpttViewer is CrystalReportViewer)
RpttViewer.ReportSource = rpt;
rpt.PrintToPrinter(1, false, 0, 0);
}
/// <summary>
/// 打印入库报表
/// </summary>
/// <param name="RpttViewer">报表预览对象</param>
public void PrintProductLabel(CrystalReportViewer RpttViewer)
{
SetDataSet("TmpProductLabel");
ProductLabelRPT rpt = new ProductLabelRPT();
rpt.SetDataSource(dataSet.Tables[strTable]);
if(RpttViewer is CrystalReportViewer)
RpttViewer.ReportSource = rpt;
rpt.PrintToPrinter(1, false, 0, 0);
}
public bool FileHandle(string strFullPath, string strDataFile, string strBackFile)
{
string sFullFileName;
FileFun myFile = new FileFun();
myFile.SetFilePath(strFullPath, strDataFile, strBackFile);
if(!myFile.HandleFile())
return false;
sFullFileName = strFullPath + strDataFile;
Path.ChangeExtension(sFullFileName, ".bak");
return true;
}
/// <summary>
/// 读INI文件
/// </summary>
/// <param name="iniFileName">INI文件名</param>
/// <param name="strSection">Section</param>
/// <param name="strKey">Key</param>
/// <returns></returns>
public string IniReadValue(string iniFileName, string strSection, string strKey)
{
IniFile iniFile = new IniFile(iniFileName);
StringBuilder temp = new StringBuilder(255);
int i = iniFile.GetPrivateProfileStringA(strSection, strKey,"", temp, 255, iniFileName);
return temp.ToString();
}
/// <summary>
/// 写INI文件
/// </summary>
/// <param name="iniFileName">INI文件名</param>
/// <param name="Section">Section</param>
/// <param name="Key">Key</param>
/// <param name="Value">Value</param>
public void IniWriteValue(string iniFileName, string Section,string Key, string Value)
{
IniFile iniFile = new IniFile(iniFileName);
iniFile.WritePrivateProfileStringA(Section, Key, Value, iniFileName);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -