C# *** 作ACCESS一定要注意文件溢出,事实上ACCESS载windows *** 作系统中有ACCESS Engine类型库, *** 作的时候你给一个文件就可以了,至于后缀是没关系,所以我们一般给ACCESS加密然后后缀改成dll,很多地方你根本找不到,ACCESS的 *** 作类也会封装成dll,所以你都找不到access的痕迹,这样有助于防数据渗漏。
第二点要注意的是,要清理压缩数据库,不然这个access会无限制膨胀,每次初始化都要压缩管理数据库,这样才能节约资源。
我给一个代码范例,是个类文件:
class link
{
//本地数据库 *** 作
public static OleDbConnection cn = null;
public DataSet dsDB = null;
public OleDbDataAdapter oda = null;
//压缩管理数据库
public static void CompactAccess(string name)
{
if (FileExists(ApplicationStartupPath + @"\fcdll"))
{
string StrConn1 = "Provider=MicrosoftJetOLEDB40;Data Source=" + ApplicationStartupPath + "/" + name;
string StrConn2 = "Provider=MicrosoftJetOLEDB40;Data Source=" + ApplicationStartupPath + "/" + name + "1";
JetEngine DatabaseEngin = new JetEngine();
DatabaseEnginCompactDatabase(StrConn1, StrConn2);
FileDelete(ApplicationStartupPath + @"\fcdll");
FileCopy(ApplicationStartupPath + @"\fcdll1", ApplicationStartupPath + @"\fcdll");
FileDelete(ApplicationStartupPath + @"\fcdll1");
}
}
//打开数据库
public void opendb(out string ms)
{
try
{
//先压缩管理数据库
CompactAccess("fcdll");
}
catch
{
}
//再打开 *** 作
cn = new OleDbConnection();
cnConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" + ApplicationStartupPath + @"\fcdll";
try
{
cnOpen();
ms = "ok";
}
catch
{
ms = "找不到本地数据存储文件!";
}
}
// *** 作数据表
public void OleDbRun(String sql)
{
if (cn != null)
{
dsDB = new DataSet();
oda = new OleDbDataAdapter();
odaSelectCommand = new OleDbCommand(sql, cn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(oda);
odaFill(dsDB);
}
}
//取数据表
public DataTable tblocal(string sql)
{
if (cn != null)
{
OleDbRun(sql);
if (dsDBTablesCount > 0)
{
return dsDBTables[0];
}
else
{
return null;
}
}
else
{
return null;
}
}
//保存数据
public void saveTable()
{
if (dsDB != null)
{
odaUpdate(dsDBTables[0]);
MessageBoxShow("保存成功!", "系统消息", MessageBoxButtonsOK, MessageBoxIconInformation);
}
}
}
Aess的用途体现在两个方面:
一、用来进行数据分析:aess有强大的数据处理、统计分析能力,利用aess的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且 *** 作方便,这一点是Excel无法与之相比的。这一点体现在:会用aess,[2]提高了工作效率和工作能力。
二、用来开发软件:aess用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、net、C语言等开发工具对于非计算机专业人员来说太难了,而aess则很容易)。这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理会编程”的复合型人才。[2]
另外,在开发一些小型网站WEB应用程序时,用来存储数据。例如ASPAess。这些应用程序都利用ASP技术在Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer.
ACCESS的用途更多,体现在很多方面:
表格模板。只需键入需要跟踪的内容,Aess便会使用表格模板提供能够完成相关任务的应用程序。Aess可处理字段、关系和规则的复杂计算,以便您能够集中精力处理项目。您将拥有一个全新的应用程序,其中包含能够立即启动并运行的自然UI。
缺陷
1,数据库过大时,一般ACCESS数据库达到100M左右的时候性能就会开始下降!(例如:访问人数过多时容易造成IIS假死,过多消耗服务器资源等等)
2,容易出现各种因数据库刷写频率过快而引起的数据库问题。
3,ACCESS数据库安全性比不上其他类型的数据库。
4,ACCESS论坛大了以后就很容易出现数据库方面的问题,当论坛数据库在50M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库慢的情况。
一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复(我的论坛有时候就会出现这样的问题)。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,一般就是数据库方面的问题了。
解决方法:
由于这是ACCESS本身的局限性,所以解决的方法除了减少数据量和更换大型的数据库论坛以外也没什么好办法。
1。临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。
2。比较长远办法:更换论坛和数据库,使用SQL数据库等等。
1首先使用Access创建一个数据保存在硬盘某处,使用MDB。
2打开Vs 2013,引入命名空间:
using SystemDataOleDb;
声明对象:
private OleDbConnection _oleDbConn; private OleDbDataAdapter _oleDbAda;
3构建链接信息:
public readonly static string _strdata = stringFormat("{0}{1}{2}", "provider=microsoftjetoledb40; Data Source=", SystemIOPathGetDirectoryName(AssemblyGetExecutingAssembly()Location), @"\db\StuManDatamdb");
这里是构建一个目录:当前目录先的db文件夹下的StuMandatamdb数据库文件。
当然可以可以直接指定目录:例:
string_strdata=@"provider=microsoftjetoledb40; Data Source=C:\db\StuManDatamdb";
这样就构建好了链接信息
4_oleDbConn = new OleDbConnection(_strConn);//根据链接信息实例化链接对象
_oleDbConnopen();//打开连接;
_oleDbAda = new OleDbDataAdapter(strsql, _oleDbConn);//strsql sql语句;
见过sql语句执行的数据库连接对象
_oleDbAdaFill(dt, tableName);
//将结果保存到本地结果及 dt==DataSet dt=new DataSet();
//Ok,Now,你可以 *** 作dt了,当然前提它不是空的
5调用示例,构建Sql语句,传给显示窗体对象。
6使用封装好的类,返回查询结果集,并提取数据。
7运行结果。
access关系数据库的基本 *** 作有:
1、选择 *** 作:
从一个关系中选择若干条记录构成一个新的关系;
2、投影 *** 作:
从一个关系中选择如果属性构成一个新的关系;
3、连接 *** 作:
两个关系根据关联字段合并为一个新的关系。
以上就是关于C# *** 作access全部的内容,包括:C# *** 作access、access数据库软件是做什么用的(access数据库有什么用)、如何使用c# *** 作ACCESS数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)