-
*************************************************************************
-
'**
-
'** 使用 ADODB.Stream 保存/读取文件到数据库
-
'** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本
-
'**
-
'** ----- 数据库连接字符串模板 ---------------------------------------
-
'** ACCESS数据库
-
'** iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
-
'** ";Data Source=数据库名"
-
'**
-
'** SQL数据库
-
'** iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
-
'** "User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
-
'**
-
'*************************************************************************
-
'
-
'保存文件到数据库中
-
Sub s_SaveFile()
-
Dim iStm As ADODB.Stream
-
Dim iRe As ADODB.Recordset
-
Dim iConcStr As String
-
-
'数据库连接字符串
-
iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
-
";Data Source=F:\My Documents\客户资料1.mdb"
-
-
'读取文件到内容
-
Set iStm = New ADODB.Stream
-
With iStm
-
.Type = adTypeBinary '二进制模式
-
.Open
-
.LoadFromFile "c:\test.doc"
-
End With
-
-
'打开保存文件的表
-
Set iRe = New ADODB.Recordset
-
With iRe
-
.Open "表", iConc, adOpenKeyset, adLockOptimistic
-
.AddNew '新增一条记录
-
.Fields("保存文件内容的字段") = iStm.Read
-
.Update
-
End With
-
-
'完成后关闭对象
-
iRe.Close
-
iStm.Close
-
End Sub
-
-
'从数据库中读取数据,保存成文件
-
Sub s_ReadFile()
-
Dim iStm As ADODB.Stream
-
Dim iRe As ADODB.Recordset
-
Dim iConc As String
-
-
'数据库连接字符串
-
iConc = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
-
";Data Source=\\xz\c$\Inetpub\zj\zj\zj.mdb"
-
-
'打开表
-
Set iRe = New ADODB.Recordset
-
iRe.Open "tb_img", iConc, adOpenKeyset, adLockReadOnly
-
iRe.Filter = "id=64"
-
-
'保存到文件
-
Set iStm = New ADODB.Stream
-
With iStm
-
.Mode = adModeReadWrite
-
.Type = adTypeBinary
-
.Open
-
.Write iRe("img")
-
.SaveToFile "c:\test.doc"
-
End With
-
-
'关闭对象
-
iRe.Close
-
iStm.Close
-
End Sub
相关文章
- IDEA 中Maven生成Mybatis的sql server数据库代码及映射的文件
- java手机进库程序:txt文件当做小型数据库实现增删改查,存储json数据到txt实体类的序列化和反序列化,修改txt中内容,Jackson操作,io流写入和输出
- VS对Qt实现控件提升,并解决头文件Include方式不正确的问题-下面的代码中:
- 用CI框架向数据库中实现简单的增删改查
- Winform主菜单两种实现方式-1.)从工具箱中双击MenuStrip控件,窗体的顶部就会放置一个MenuStrip控件,或者在工具箱中单击MenuStrip控件,拖至窗体中也可以.
2.)在MenuStrip的“Type Here”输入主菜单和菜单名字,热键用(&X)表示.
用快捷键选择主菜单,可以用Alt + 预定义的按键来实现,子菜单的选择只需要按定义的热键即可.
3.)双击File*菜单下面的子菜单,创建子菜单Open、Save、Exit的单击事件代码:
private void OpenOToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog
{
//初始化打开对话框的路径
InitialDirectory = @"D:\",
Title = "Open File",
//定义可显示的文件类型;
Filter = "txt file(*.txt)|*.txt|All file(*.*)|*.*",
//定义默认显示的文件类型为txt
FilterIndex = 1,
//对话框关闭后将复位初始化路径
RestoreDirectory = true
};
if (ofd.ShowDialog == DialogResult.OK)
{
//根据打开对话框选择的文件名,加载文本内容到富文本框中.
richtxtContent.Text = File.ReadAllText(ofd.FileName);
}
}
private void SaveSToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog
{
//初始化保存对话框的路径
InitialDirectory = @"D:\",
Title = "Save File",
//定义可显示的文件类型;
Filter = "txt file(*.txt)|*.txt|All file(*.*)|*.*",
//定义默认显示的文件类型为txt
FilterIndex = 1,
//对话框关闭后将复位初始化路径
RestoreDirectory = true
};
if(sfd.ShowDialog == DialogResult.OK)
{
//保存文件
File.WriteAllText(sfd.FileName, richtxtContent.Text);
//清空富文本框内容
richtxtContent.Clear;
}
}
private void exitEToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit;
}
4.)执行下程序,加载指定的txt文件到富文本框中,如下:
5.)在富文本框中更新加载进来的txt文件内容.
6.)Alt + F热键打开文件的下拉菜单,单击S保存富文本框中的内容到指定的文件.打开txt验证菜单单击事件保存文件成功.
二.实现winform主菜单的方法2:MenuStrip类和toolStripMenuItem类实例化对象,在主窗体加载事件中实现如下代码:
- 代码实现:定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
- ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中(四)
- 用C#中实现的,调用CMD来执行BCP的代码
- ASP.NET2.0中将数据库字段中存储的文件显示出来