一天问题小结20140521
2014-05-21 22:32
316 查看
[align=left]1、asp.net 操作Access数据库,CURD操作[/align]
[align=left]asp.net提供操作数据库有以下方式 Sqlclient、Oledb、odbc;[/align]
[align=left]asp.net操作access数据库和操作sqlserver数据没有大的区别,都可以使用基本的sql语句对数据进行操作,连接字符串不一样,sqlserver使用的是sqlserver数据库引擎,access数据库一般的连接字符串是:[/align]
[align=left]<connectionStrings>[/align]
<add name="WebSiteConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aisino_data.mdb" providerName="System.Data.OleDb" />
</connectionStrings>
若是access2007及以上版本provider改为:Provider=Microsoft.Jet.OLEDB.12.0,文件格式是.accdb;
注意:在asp.net中经常把连接字符串写在web.config中。但是access的连接字符串是需要数据库的绝对位置。即 盘符:/文件夹/文件 这样就导致经常把文件拷贝后需要改路径的问题。其实完全可以通过程序来获得数据库文件的绝对路径。具体如下:
web.config中只写数据库文件名 (一般会把数据库文件放在App_Data文件夹下,因为有一定的安全性)
<appSettings>
<add key="ConnString" value="App_Data\ManageDB.accdb"/>
</appSettings>
然后在DBHelper类获得字符串的写上如下方法:
public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationSettings.AppSettings["ConnString"];
通过AppDomain.CurrentDomain.BaseDirectory来获得此数据库的绝对路径.
[align=left]2、SqlDataReader、SqlDataAdapter访问数据的区别[/align]
(1)、SqlDataReader //基于连接,只读访问 适合数据量较小。
SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点
(2)、SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存
SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作
(3)、写法上不同
SqlDatReader执行前须先打开数据库,然后须生成一个COMMAND对象。再由COMMAND.EXECUTEREADER()方法赋值。完成后须手动关闭联接。
SqlDataAdapter 执行时,自动打数据库,且不用Command的ExecuteReader方法进行赋值,完成后自动断开联接。
[align=left]3、listbox绑定数据,选择当前选中的值[/align]
[align=left]设置DataSource时用list集合进行绑定,当数据源发生变化时,listbox的数据源并不会跟着更新,还需要重新加载一次,使用DataTable可以双向更新[/align]
listBox.DataSource = ds.Tables[0];
listBox.DisplayMember = "carsnumber";
listBox.ValueMember = "id";
DataRowView drv = listBox.SelectedItem as DataRowView;
MessageBox.Show( "Text:" + drv[listBox.DisplayMember].ToString() );
MessageBox.Show( "Value:" + drv[listBox.ValueMember].ToString() );
list.SelectValue也可以取到当前选中的值
[align=left]4、连接access2007数据库报错,不可识别的数据库格式....mdb[/align]
access2007及以上版本provider改为:Provider=Microsoft.Jet.OLEDB.12.0;如下:
[align=left]<connectionStrings>[/align]
<add name="WebSiteConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.12.0;Data Source=|DataDirectory|aisino_data.accdb"
providerName="System.Data.OleDb" />
</connectionStrings>
[align=left]5、.mmap文件怎么打开[/align]
.mmap是思维导图MindManager软件的存储格式
[align=left]6、vs2005即时调试窗口怎么打开[/align]
[align=left]调试-窗口-即时,或者快捷键:Ctr +D +i[/align]
[align=left]7、vs2013 2012 版本查看代码文件有预览功能,若去掉,选择 工具/选项/环境/选项卡和窗口下找到 在解决方案资源管理器中预览选定的文件,去掉前面的勾即可[/align]
[align=left]8、.netframework2.0特性[/align]
[align=left]强类型;[/align]
[align=left]泛型和泛型集合、高级泛型,反射;[/align]
[align=left]可空类型,? as操作符;[/align]
[align=left]委托,匿名委托,协变逆变;[/align]
[align=left]yield迭代器;[/align]
[align=left]分部类型;[/align]
[align=left]静态类型 独立的取值赋值方法;[/align]
[align=left]命名空间别名;[/align]
[align=left]分布式计算,webservice、remoting、socket;[/align]
[align=left]多线程改进;[/align]
[align=left]http://msdn.microsoft.com/zh-cn/library/t357fb32(v=vs.90).aspx[/align]
[align=left]9、js中的闭包,回调函数[/align]
[align=left]asp.net提供操作数据库有以下方式 Sqlclient、Oledb、odbc;[/align]
[align=left]asp.net操作access数据库和操作sqlserver数据没有大的区别,都可以使用基本的sql语句对数据进行操作,连接字符串不一样,sqlserver使用的是sqlserver数据库引擎,access数据库一般的连接字符串是:[/align]
[align=left]<connectionStrings>[/align]
<add name="WebSiteConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aisino_data.mdb" providerName="System.Data.OleDb" />
</connectionStrings>
若是access2007及以上版本provider改为:Provider=Microsoft.Jet.OLEDB.12.0,文件格式是.accdb;
注意:在asp.net中经常把连接字符串写在web.config中。但是access的连接字符串是需要数据库的绝对位置。即 盘符:/文件夹/文件 这样就导致经常把文件拷贝后需要改路径的问题。其实完全可以通过程序来获得数据库文件的绝对路径。具体如下:
web.config中只写数据库文件名 (一般会把数据库文件放在App_Data文件夹下,因为有一定的安全性)
<appSettings>
<add key="ConnString" value="App_Data\ManageDB.accdb"/>
</appSettings>
然后在DBHelper类获得字符串的写上如下方法:
public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationSettings.AppSettings["ConnString"];
通过AppDomain.CurrentDomain.BaseDirectory来获得此数据库的绝对路径.
[align=left]2、SqlDataReader、SqlDataAdapter访问数据的区别[/align]
(1)、SqlDataReader //基于连接,只读访问 适合数据量较小。
SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点
(2)、SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存
SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作
(3)、写法上不同
SqlDatReader执行前须先打开数据库,然后须生成一个COMMAND对象。再由COMMAND.EXECUTEREADER()方法赋值。完成后须手动关闭联接。
SqlDataAdapter 执行时,自动打数据库,且不用Command的ExecuteReader方法进行赋值,完成后自动断开联接。
[align=left]3、listbox绑定数据,选择当前选中的值[/align]
[align=left]设置DataSource时用list集合进行绑定,当数据源发生变化时,listbox的数据源并不会跟着更新,还需要重新加载一次,使用DataTable可以双向更新[/align]
listBox.DataSource = ds.Tables[0];
listBox.DisplayMember = "carsnumber";
listBox.ValueMember = "id";
DataRowView drv = listBox.SelectedItem as DataRowView;
MessageBox.Show( "Text:" + drv[listBox.DisplayMember].ToString() );
MessageBox.Show( "Value:" + drv[listBox.ValueMember].ToString() );
list.SelectValue也可以取到当前选中的值
[align=left]4、连接access2007数据库报错,不可识别的数据库格式....mdb[/align]
access2007及以上版本provider改为:Provider=Microsoft.Jet.OLEDB.12.0;如下:
[align=left]<connectionStrings>[/align]
<add name="WebSiteConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.12.0;Data Source=|DataDirectory|aisino_data.accdb"
providerName="System.Data.OleDb" />
</connectionStrings>
[align=left]5、.mmap文件怎么打开[/align]
.mmap是思维导图MindManager软件的存储格式
[align=left]6、vs2005即时调试窗口怎么打开[/align]
[align=left]调试-窗口-即时,或者快捷键:Ctr +D +i[/align]
[align=left]7、vs2013 2012 版本查看代码文件有预览功能,若去掉,选择 工具/选项/环境/选项卡和窗口下找到 在解决方案资源管理器中预览选定的文件,去掉前面的勾即可[/align]
[align=left]8、.netframework2.0特性[/align]
[align=left]强类型;[/align]
[align=left]泛型和泛型集合、高级泛型,反射;[/align]
[align=left]可空类型,? as操作符;[/align]
[align=left]委托,匿名委托,协变逆变;[/align]
[align=left]yield迭代器;[/align]
[align=left]分部类型;[/align]
[align=left]静态类型 独立的取值赋值方法;[/align]
[align=left]命名空间别名;[/align]
[align=left]分布式计算,webservice、remoting、socket;[/align]
[align=left]多线程改进;[/align]
[align=left]http://msdn.microsoft.com/zh-cn/library/t357fb32(v=vs.90).aspx[/align]
[align=left]9、js中的闭包,回调函数[/align]
相关文章推荐
- 20100125小结,今天忙活了一天一个很傻的问题...
- 搞了一天终于实现了 DataGrid 中的多国语言的问题,采用了中文向其他语言自动翻译的方法,其实不难,主要是想法(本文不涉及这个计算机技术问题,仅以此作为标题)
- JSP中文乱码问题解决方法小结
- 小结了一下Parser Generator 2使用中的几个问题
- java技术面试基本问题小结
- Anthem.NET 的 "BAD RESPONSE" 问题的脚本调试技巧小结
- ASP.NET1.0升级ASP.NET2.0的问题小结
- 保存写了一天代码(注意,程序有一些问题)
- [转] java技术面试基本问题小结
- JNI中文处理问题小结(转载)
- Eclipse3.0+lomboz3.01+tomcat5.027安装调式问题小结
- Eclipse3.0+lomboz3.01+tomcat5.027安装调式问题小结
- ireport的中文问题小结
- 关于使用ODBC+VC操作DBF文件问题小结
- 在WebPart中进行一些权限判断的问题小结
- Eclipse3.0+lomboz3.01+tomcat5.027安装调式问题小结-zz
- 昨天出差一天, 到北培去了,解决问题
- .Net安装小问题的解决小结
- Asp.net 调试问题小结(不断补充)
- PHP问题总结:PHP优化及高效提速问题小结