一、C# sql数据库中word文档的保存和读取?
要实现在Sql Server中实现将文件读写Word文件,需要在要存取的表中添加Image类型的列,示例表结构为:
CREATE TABLE CONTRACTS (
ID VARCHAR (50),
CONTRACT_FILE IMAGE
);
要将Word文件存储到数据库的CONTRACT_FILE字段中,需要将文件转换为byte数组,具体代码如下:
将文件转换为byte数组
1 /// <summary>
2 /// 将文件转换为Bytes
3 /// </summary>
4 /// <param name="fileName"></param>
5 /// <returns></returns>
6 public static byte[] File2Bytes(string fileName)
7 {
8 FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read);
9 byte[] fileDatas = new byte[fs.Length];
10 fs.Read(fileDatas, 0, System.Convert.ToInt32(fs.Length));
11 fs.Close();
12 return fileDatas;
13 }
然后将转换完成的byte[]存储到数据库的对应字段:
将文件存储到数据库
1 /// <summary>
2 /// 更新合同文件
3 /// </summary>
4 /// <param name="id"></param>
5 /// <param name="fileBytes"></param>
6 /// <returns></returns>
7 public bool UpdateContractFile(string id, byte[] fileBytes)
8 {
9 string sql = "UPDATE CONTRACTS SET CONTRACT_FILE=@CONTRACT_FILE WHERE ID=@ID";
10 using (SqlConnection conn = new SqlConnection(this.m_DataAccess.ConnectString))
11 {
12 conn.Open();
13 using (SqlCommand cmd = new SqlCommand())
14 {
15 cmd.Connection = conn;
16 cmd.CommandText = sql;
17 cmd.Parameters.Clear();
18
19 cmd.Parameters.Add(new SqlParameter("@CONTRACT_FILE", SqlDbType.Image));
20 cmd.Parameters["@CONTRACT_FILE"].Value = fileBytes;
21
22 cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.VarChar));
23 cmd.Parameters["@ID"].Value = id;
24
25 return cmd.ExecuteNonQuery() > 0 ? true : false;
26 }
27 }
28 }
然后将转换完成的byte[]存储到数据库的对应字段:
将文件存储到数据库
1 /// <summary>
2 /// 更新合同文件
3 /// </summary>
4 /// <param name="id"></param>
5 /// <param name="fileBytes"></param>
6 /// <returns></returns>
7 public bool UpdateContractFile(string id, byte[] fileBytes)
8 {
9 string sql = "UPDATE CONTRACTS SET CONTRACT_FILE=@CONTRACT_FILE WHERE ID=@ID";
10 using (SqlConnection conn = new SqlConnection(this.m_DataAccess.ConnectString))
11 {
12 conn.Open();
13 using (SqlCommand cmd = new SqlCommand())
14 {
15 cmd.Connection = conn;
16 cmd.CommandText = sql;
17 cmd.Parameters.Clear();
18
19 cmd.Parameters.Add(new SqlParameter("@CONTRACT_FILE", SqlDbType.Image));
20 cmd.Parameters["@CONTRACT_FILE"].Value = fileBytes;
21
22 cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.VarChar));
23 cmd.Parameters["@ID"].Value = id;
24
25 return cmd.ExecuteNonQuery() > 0 ? true : false;
26 }
27 }
28 }
要读取数据库中存储的Word文件,需要先将Image类型的字段转换为bytes[],具体代码如下:
通过ID获取文件byte数组
1 /// <summary>
2 /// 获取合同文件
3 /// </summary>
4 /// <param name="id"></param>
5 /// <returns></returns>
6 public byte[] GetContractFile(string id)
7 {
8 string sql = "SELECT CONTRACT_FILE FROM CONTRACTS WHERE ID='{0}'";
9 sql = string.Format(sql, id);
10 object contractFile;
11 contractFile = this.m_DataAccess.ExecuteScalar(sql);
12 if (contractFile == null)
13 {
14 return new byte[0];
15 }
16 else
17 {
18 return (byte[])contractFile;
19 }
20 }
在获取到文件的byte[]后,将该文件通过文件流操作存储为Word文件,具体代码如下:
将byte[]数组存储为Word文件
1 byte[] fileBytes = this.m_ContractsBusiness.GetContractFile(id);
2 if (fileBytes.Length == 0)
3 {
4 XMessageBox.ShowError("未找到合同文件!");
5 return;
6 }
7 SaveFileDialog sfd = new SaveFileDialog();
8 sfd.Filter = "Word文件(*.doc)|*.doc";
9 if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
10 {
11 try
12 {
13 string saveFileName = sfd.FileName;
14 int arraysize = new int();//注意这句话
15 arraysize = fileBytes.GetUpperBound(0);
16 FileStream fs = new FileStream(saveFileName, FileMode.OpenOrCreate, FileAccess.Write);
17 fs.Write(fileBytes, 0, arraysize);
18 fs.Close();
19 if (XMessageBox.ShowQuestion("文件下载成功,是否立即打开文件?") ==
20 System.Windows.Forms.DialogResult.Yes)
21 {
22 Process.Start(saveFileName);
23 }
24 }
25 catch (Exception ex)
26 {
27 XMessageBox.ShowError("下载文件失败!");
28 }
二、SQL如何保存文本到数据库?
SQL保存文本到数据库的方法如下:
1、进入Navicat Premium中后,登录数据库,找到’表‘这一项,右键点击;
2、右键点击后,选择运行sql文件;
3、点击后会有一个弹窗,查看编码方式,是否是你的数据库文件的编码方式,修改的你的文件编码方式,这里是utf-8,然后点击文件后面的小方块;
4、找到你的sql文件所在的位置,选择文件后点击打开;
5、检查你的编码方式,没问题后点击开始;
6、等待文件执行完毕后,检查没有错误,点击关闭;
7、去Navicat Premium查看,点击刷新后查看你要的表格是否存在。
8、若不存在,请重新导入,屡次不成功请索要源文件。
三、sql2008怎么保存数据库?
在SQL Server中,保存已经建立的数据库包括两个方面:
1. 保存数据库文件:创建一个数据库时,系统会为该数据库分配一组数据和日志文件,并默认将它们保存在SQL Server安装目录下的数据文件夹中。如果您想要备份数据库,可以直接备份数据和日志文件。具体操作步骤如下:
- 打开SQL Server Management Studio,在“对象资源管理器”中,选择您想要备份的数据库。
- 右键单击该数据库,在弹出菜单中选择“任务” -> “备份”。
- 在“备份数据库”对话框中,设置备份类型、位置等参数,点击“确定”按钮即可开始备份。
2. 保存数据库定义:除了备份数据文件之外,还需要保存数据库的定义,以便在需要的时候可以重新创建该数据库。您可以使用SQL Server Management Studio导出数据库的DDL语句,以便将数据库定义保存为文本文件。具体操作步骤如下:
- 在“对象资源管理器”中,右键单击数据库,选择“任务” -> “生成脚本”。
- 在“生成脚本向导”中,选择要导出的对象(如表、视图、存储过程等),并设置其他选项(如脚本文件的位置和格式等)。
- 单击“完成”按钮,系统会将数据库定义导出为DDL脚本。
希望以上介绍对您有所帮助。
四、c++怎么保存数据?
C++ 保存数据的的方法
方法一:freopen
说到保存数据,我们最熟悉的肯定就是freopen了,我们先来看看它的函数原型:
FILE *__cdecl freopen(
const char * __restrict__ _Filename,
const char * __restrict__ _Mode,
FILE * __restrict__ _File
)
_Filename:是文件名,用于存储输入输出的自定义文件名。
_Mode指文件打开的模式(如r-只读, w-只写等)。
_File:指一个文件,通常使用标准流文件。
方法二:ifstream和ofstream
那么除了freopen,还有没有别的方法了呢?
答案是必然的,我们就继续来学习ifstream和ofstream。为了使用他们,我们需要在开头添加一个头文件。
c++将文件保存至txt文件的方法
MATLAB1、dlmwrite('datainput.txt',x,'d');注:datainput.txt为保存的文件名称,x为保存的数据,d为数据间隔符。2、f=fopen('data.txt','wt'); fprintf(f,'%d\n',x); fclose(f);注:'wt'表示该文件的读写属性。
五、C++如何保存数据?
C++中有多种数据类型,可以使用不同的方法来保存它们。以下是一些常见的方法:
基本数据类型(如int、float等)可以直接存储在变量中。
字符串可以使用字符数组或字符串类来保存。
数组可以使用数组变量来保存,也可以使用动态内存分配来创建数组。
结构体和类可以使用变量或动态内存分配来创建对象并保存数据。
文件可以使用文件流来打开、读取和写入数据。
六、C语言如何保存数据?
在C语言中,可以使用不同的方法来保存数据。最常见的方法是使用变量来存储数据,变量可以是不同的数据类型,如整数、字符、浮点数等。
可以使用赋值语句将数据存储到变量中,并通过变量名来访问和操作数据。
此外,还可以使用数组来保存一组相关的数据,数组可以一次性分配一定数量的内存空间,并使用索引来访问和操作数组中的元素。
还可以使用指针来保存数据的地址,通过指针可以直接访问和修改存储在其他变量或数组中的数据。
另外,还可以使用文件来保存大量的数据,通过使用C语言提供的文件操作函数,可以将数据写入文件或从文件中读取数据。总而言之,C语言提供了多种灵活的方法来保存数据,开发者可以根据不同的需求选择合适的方法。
七、C#SQL随机抽取数据加入List?
这个没必要用一条sql语句来实现,可以采用变通的办法,你在C#程序中定义一个list,每次从数据库中随机抽取一条数据后将这条数据的id放入list中,下次随机抽取数据后去判断这条数据的id是否在list中,如果在则说明重复了,丢弃这条数据重新再取,这可能会有一定的效率损失,但是随机数重复的可能性本来就很小,这点效率损失没什么大不了的。
八、sql数据库怎么快速保存到电脑?
1. 使用备份和还原功能可以快速将SQL数据库保存到电脑上。2. 因为备份和还原功能可以将整个数据库备份到一个文件中,然后在需要的时候可以通过还原功能将备份文件恢复到数据库中,这样可以快速地将数据库保存到电脑上。3. 此外,还可以使用SQL Server Management Studio中的导出功能将数据库中的数据导出到文件中,然后再将文件保存到电脑上。这种方法可以选择导出的数据类型和格式,更加灵活。
九、sql server数据库没做完怎么保存
你好,你可以使用以下几种方法来保存未完成的 SQL Server 数据库:
1. 保存 SQL 脚本:将未完成的 SQL 脚本保存到本地计算机或网络驱动器上,以便稍后继续编辑和执行。
2. 保存 SQL Server Management Studio 项目:如果你使用 SQL Server Management Studio 编辑数据库,可以将项目保存到本地计算机或网络驱动器上,以便稍后继续编辑和执行。
3. 导出数据库:将未完成的数据库导出为备份文件,以便稍后可以还原和继续编辑。
4. 保存 Transact-SQL 脚本:使用 SQL Server Management Studio 或其他 SQL 编辑器编写 Transact-SQL 脚本,并将其保存到本地计算机或网络驱动器上以供稍后继续编辑和执行。
无论你选择哪种方法,都应该定期备份数据库和脚本以防止数据丢失。
十、C#连接SQL数据库的代码?
SqlConnectioncon=newSqlConnection("连接数据库字符串")
;stringsql=string.Format("select*from表名where宿舍号列='{0}'and日期列='{1}'",宿舍号,日期)
;SqlDataAdaptersda=newSqlDataAdapter(sql,con)
;DataSetds=newDataSet()
;sda.Fill(ds)
;con.Close()
;DataGridView控件名.DataSource=ds.Tables[0];