Byte[] blob = null;
FileStream fs = null;
const string sConn = "server=(local);Initial
Catalog=Northwind;UID=ctester;PWD=password";
try {
SqlConnection conn = new SqlConnection(sConn);
SqlCommand cmd = new SqlCommand("SELECT Picture FROM Categories WHERE
CategoryName='Builder'", conn);
cn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
FileStream fs = null;
const string sConn = "server=(local);Initial
Catalog=Northwind;UID=ctester;PWD=password";
try {
SqlConnection conn = new SqlConnection(sConn);
SqlCommand cmd = new SqlCommand("SELECT Picture FROM Categories WHERE
CategoryName='Builder'", conn);
cn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
blob = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))];
sdr.GetBytes[0, 0, blob, 0, blob.Length);
sdr.Close();
conn.Close();
fs = new FileStream("c://Builder.doc", FileMode.Create, FileAccess.Write);
sdr.GetBytes[0, 0, blob, 0, blob.Length);
sdr.Close();
conn.Close();
fs = new FileStream("c://Builder.doc", FileMode.Create, FileAccess.Write);
fs.Write(blob, 0, blob.Length);
fs.Close();
} catch (SqlException e){
Console.WriteLine("SQL Exception: " + e.Message);
} catch (Exception e) {
Console.WriteLine("Exception: "+ e.Message);
}
fs.Close();
} catch (SqlException e){
Console.WriteLine("SQL Exception: " + e.Message);
} catch (Exception e) {
Console.WriteLine("Exception: "+ e.Message);
}
Q
:
老师,请问一下,对于大数据量分页的时候,用DataReader,还是用DataAdapter效率高?
A:DataReader提供一个快速、只读、向前的数据流,因此它的访问效率比DataAdapter要高。
Q
:
建立一个与连接池中的参数不一样,是不是要重新创建?
A:需要重新创建。
A:需要重新创建。
Q
:
如何执行返回值的存储过程,并且如何显示结果?
A: 用存储过程的output来返回。
Q
:
用
dataset
可不可以把多个表中的数据直接
FILL
到
EXCEl
中
(
按
dataset
格式
) chenxl@mail.ln-hr.com :jackyzhao213@hotmail.com
A:
有关
C#
操作
Excel
的代码已经回复到邮箱中了。
Q:
请问怎么把一个表的数据,约束,父子表关系等一起赋值到数据集(或数据表),谢谢
A:
向 DataSet 添加多个结果集时,每个结果集都放在一个单独的表中。当创建 DataTable 对象时,Fill 操作通常只创建列名元数据。但是,
你能通过设置数据适配器的
MissingSchemaAction
属性来重载
Fill
的默认的行为。例如,要使
Fill
建立的表包含主键信息、唯一约束、列属性、是否允许空值、列的最大长度、只读列、自动增加列等等,只需要指定
DataAdapter.MissingSchemaAction
为
MissingSchemaAction.AddWithKey
。作为选择,你能在调用
DataAdapter.Fill
前调用
DataAdapter.FillSchema
来确保数据集被填充时大纲已经准备好了。
调用 FillSchema 将再次访问服务器并检索附加的大纲信息。为了提高性能,最好指定数据集的大纲,或者在调用 Fill 前设置数据适配器的 MissingSchemaAction 。
调用 FillSchema 将再次访问服务器并检索附加的大纲信息。为了提高性能,最好指定数据集的大纲,或者在调用 Fill 前设置数据适配器的 MissingSchemaAction 。
Q:
将
DataSet
修改过的数据
Update
到数据库中
,
有什么自动话的方法
?
必须都写
SQL?
A:
用
DataAdapter
的
Updata
方法。详细可以参考有关
DataAdapter
使用的资料。
Q:
怎么使用
ADO.NET
把
Excel
表到入数据库?
A:
string strFileName ;//Excel
文件名称
DataSet myDataset = new DataSet();
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source="+strFileName+";"+"Extended Properties='Excel 8.0;'");
OleDbCommand Command = new OleDbCommand("SELECT * FROM [Sheet1$]",con);
System.Data.OleDb.OleDbDataAdapter myData = new OleDbDataAdapter(Command);
myData.Fill(myDataset);
数据填充到
DataSet
中后,你就可以把它写入数据库了。
本文介绍了使用 ADO.NET 进行高效数据交互的方法,包括 DataReader 和 DataAdapter 的选择、存储过程的执行与结果返回、DataSet 的填充策略、数据更新的最佳实践及 Excel 数据导入数据库的技术实现。
1398

被折叠的 条评论
为什么被折叠?



