C#窗体操作SQL Server存储大文件方法分享
2015-10-05 15:40
627 查看
SQL Server 的存储空间 是一定的,并不能做到无限大。这样,在存储大文件的时候,比如,公司签订的项目合同,若要将整份儿合同内容存入数据库,也行,但是这样会降低数据库的使用效率。我就遇到过这样的问题。我的解决方案是:
1,将合同内容以文件的方式存放在本地的物理磁盘上。(文件的格式可以自己指定,为了数据安全。咱们可以对文件加密哦)
2,获取合同文件所在路径(这里最好是绝对路径,并且包含文件名)。
3,将合同文件所在路径存储到数据库中,这样,大大减轻了数据从数据库输入输出的负担。
---------看图说话----------
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/0c932aee1d08ad27b1c086ee990994c8)
------------------代码区-------------------------
这里,没有做SQL语句的过滤。
1,将文件内容保存至本地文件,并且存入数据库
2,读取数据库中对应的存储信息,并将文件内容显示到右边的文本框中。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/e8549ebbe0abf8d71c92e0b8891b6e96)
大概就是这样了,若看到这里的你对该方案有更好的意见,记得可以留言哦
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/61c17ed2eb67211a84e137429ac3f7ad.gif)
1,将合同内容以文件的方式存放在本地的物理磁盘上。(文件的格式可以自己指定,为了数据安全。咱们可以对文件加密哦)
2,获取合同文件所在路径(这里最好是绝对路径,并且包含文件名)。
3,将合同文件所在路径存储到数据库中,这样,大大减轻了数据从数据库输入输出的负担。
---------看图说话----------
------------------代码区-------------------------
这里,没有做SQL语句的过滤。
1,将文件内容保存至本地文件,并且存入数据库
///--实例化对象 FileStream fileStream = new FileStream("test.txt", FileMode.OpenOrCreate); StreamWriter writer = new StreamWriter(fileStream); ///--写入文件 writer.Write(textBox1.Text); ///--关闭对象 writer.Close(); fileStream.Close(); ///---获取文件路经所在目录 string strFilePath = System.Environment.CurrentDirectory; ///--将文件名整合到文件所在路径 strFilePath += @"\test.txt"; ///--计算即将插入数据库的行索引 int iRowCount = int.Parse(AccessHelper.dataSet("SELECT COUNT (*) FROM [FileInfo]").Tables[0].Rows[0][0].ToString()) + 1; ///--将数据(ID + filepath)录入数据库 AccessHelper.excuteSql("INSERT INTO [FileInfo] VALUES('"+iRowCount+"', '"+strFilePath+"')");(这里再次用到AccessHelper,有兴趣的读者,可以看看我之前写的关于 AccessHelper的笔记)
2,读取数据库中对应的存储信息,并将文件内容显示到右边的文本框中。
///--查询数据库中的数据 dataGridView1.DataSource = AccessHelper.dataSet("SELECT * FROM [FileInfo]").Tables[0]; //MessageBox.Show(dataGridView1.Rows[0].Cells[1].Value.ToString()); ///---显示文件内容 textBox2.Text = System.IO.File.ReadAllText(dataGridView1.Rows[0].Cells[1].Value.ToString());这里将 数据库中存放文件路径的值放大
大概就是这样了,若看到这里的你对该方案有更好的意见,记得可以留言哦
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/61c17ed2eb67211a84e137429ac3f7ad.gif)
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例
- C#托管堆对象实例包含内容分析