Access数据库在C#.net下的存储路径问题
即使我将数据库放在项目内建的文件夹db下,可是进行存储操作的时候,数据表没有任何变化。后来发现储存改变发生在bin\\debug\\db目录下的数据库中,这个数据库是在程序运行时自动复制过去的,可是为什么存储变化没有反应到外面项目内的数据库db下呢?我想连接字符串中datasource中的datadirectory存在一些玄机,于是我找到一个改变存储路径的方法,以实现对数据库操作能落实到你指定的项目数据库文件中。
//改变数据库存储路径
string p = AppDomain.CurrentDomain.BaseDirectory;//获取操作的直接路径
//重新定位数据库
if (p.IndexOf("\\bin\\") > 0)
{
if (p.EndsWith("\\bin\\Debug\\"))
p = p.Replace("\\bin\\Debug", "");
if (p.EndsWith("\\bin\\Release\\"))
p = p.Replace("\\bin\\Release", "");
}
if (!p.EndsWith("App_Data\\"))
p = p + "db\\";
p = p + "App_Data\\";//这里可以指定项目数据库文件夹名
AppDomain.CurrentDomain.SetData("DataDirectory", p);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
其实最后bin\\debug\\db下还是会有一份数据库文件,但是进行的操作可以落实反应到外面项目里数据库文件了。App.config文件里的连接字符串为:connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|数据库名.mdb"
。
相关文档:
在相同字符串的许多操作上,使用StringBuilder类会比使用String对象更有效率。
当你对一个string对象赋值时,这时会生成一个这个对象的副本,如果你赋值多次的话在系统中就会保存多个这个对象的副本,会对系统资源造成很大的浪费,但是StringBuilder不会出先上述情况
String数据类型代表的 ......
QZone Editor
.dump{}
//TODO 域名
if (location.hash) {
document.domain=location.hash.substr(1);
}
//parent.qZEditor.callback();
function init(){
//获取编辑器面板ID
var pid = frameElement.panelID;
//获取编辑器面板对象
......
自己做的一个.net错误收集,收集整站的500错误,用的access数据库。数据过20000后,使用传统的SELECT TOP 10 * from TABLE WHERE ID NOT IN(SELECT TOP 10*10 * from TABLE)查询竟然要好几分钟,汗~~~~!
网上查到的一条语句还不错。
SELECT TOP 10 id,Message,CreateTime ......
Sql代码
--采用SQL语句实现sql2005和Excel 数据之间的数据导入导出,在网上找来一--下,实现方法是这样的:
--Excel---->SQL2005 导入:
select * into useinfo from O ......