C#数据集方法
在我的C#程序中,我有几个区域可以连接到excel电子表格。为了减少编码的重复,我尝试编写一个方法,读取sql语句,然后输出数据集 如何编写此方法 第二,我应该用什么来创建这样一个模块?一个方法、类或其他东西 这就是我目前所拥有的C#数据集方法,c#,coding-style,ado.net,C#,Coding Style,Ado.net,在我的C#程序中,我有几个区域可以连接到excel电子表格。为了减少编码的重复,我尝试编写一个方法,读取sql语句,然后输出数据集 如何编写此方法 第二,我应该用什么来创建这样一个模块?一个方法、类或其他东西 这就是我目前所拥有的 //Connection String to read Excel File into Dataset. if (Path.GetExtension(brtFile) == ".xlsx") {
//Connection String to read Excel File into Dataset.
if (Path.GetExtension(brtFile) == ".xlsx")
{
ConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", brtFile);
}
else
{
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + brtFile + ";" +
"Extended Properties=Excel 8.0;";
}
//Read Excel file into Dataset.
OleDbConnection objConn = new OleDbConnection(ConnectionString);
try
{
objConn.Open();
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
Console.ReadLine();
}
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + xlWorksheet + "$]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
DataSet objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1);
objConn.Close();
您可以将其作为虚拟或静态公共方法放在类中,例如
public class ExcelHelper
{
public static DataSet GetExcelData()
{
//your codes here
return objDataset1;
}
}
你可以这样称呼它
var xl = new ExcelHelper();
var ds = xl.GetExcelData();
或
而如果将其创建为静态方法,如
public class ExcelHelper {
public static DataSet GetExcelData()
{
return objDataset1;
}
}
你可以称之为
var ds = ExcelHelper.GetExcelData();
您可以将其作为虚拟或静态公共方法放在类中,例如
public class ExcelHelper
{
public static DataSet GetExcelData()
{
//your codes here
return objDataset1;
}
}
你可以这样称呼它
var xl = new ExcelHelper();
var ds = xl.GetExcelData();
或
而如果将其创建为静态方法,如
public class ExcelHelper {
public static DataSet GetExcelData()
{
return objDataset1;
}
}
你可以称之为
var ds = ExcelHelper.GetExcelData();
下面的示例类是我使用的常规模式 我创建了一个“数据管理器”类来处理所有数据访问。我包括用于“核心”功能的静态方法,还允许用户使用指定的连接字符串创建对象 关于示例代码的要点:
语句非常重要
Open
生成可读代码之前添加参数数据集
,并根据需要添加数据表。(请注意,将数据适配器与返回多个结果集的存储过程一起使用时,会使用每个结果集的数据表填充数据集。)下面的示例类是我使用的常规模式 我创建了一个“数据管理器”类来处理所有数据访问。我包括用于“核心”功能的静态方法,还允许用户使用指定的连接字符串创建对象 关于示例代码的要点:
语句非常重要
Open
生成可读代码之前添加参数数据集
,并根据需要添加数据表。(请注意,将数据适配器与返回多个结果集的存储过程一起使用时,会使用每个结果集的数据表填充数据集。)您不使用实体框架有什么相关的原因吗?不要接受所有异常。@Gnostus:EF不能与Excel一起使用。我不理解这个问题。你是说你包含的代码不起作用吗?如果是,请指出代码失败的位置和异常。我希望主程序从方法调用此代码,并将数据集输出到主程序,以便在主程序中使用查询的数据。如何编写该方法,以及如何编写将放在主程序中的方法调用?您不使用实体框架是否有相关的原因?请不要忽略所有异常。@Gnostus:EF不能与Excel一起使用。我不理解这个问题。你是说你包含的代码不起作用吗?如果是,请指出代码失败的位置和异常。我希望主程序从方法调用此代码,并将数据集输出到主程序,以便在主程序中使用查询的数据。如何编写方法,以及如何编写将放置在主程序中的方法调用?