/// <summary>
/// 保存文件到数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
string conn = @"Data Source=YANGYIBANG\SQLEXPRESS;Initial Catalog=joe;Integrated Security=True";
SqlConnection cn = new SqlConnection(conn);
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
//openFileDialog1.InitialDirectory = "c:\\";
//openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
//openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
FileInfo fi = new FileInfo(openFileDialog1.FileName);
FileStream fs = fi.OpenRead();
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.Text;
if (cn.State == 0) cn.Open();
cm.CommandText = "insert into title (titileName, files ) values('aaa',@file)";
SqlParameter spFile = new SqlParameter("@file", SqlDbType.Image);
spFile.Value = bytes;
cm.Parameters.Add(spFile);
cm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
/// <summary>
/// 从数据库就读取文件另存为
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
try
{
string conn = @"Data Source=YANGYIBANG\SQLEXPRESS;Initial Catalog=joe;Integrated Security=True";
SqlConnection cn = new SqlConnection(conn);
SqlDataReader dr = null;
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.Text;
cm.CommandText = "select files from title where titileId=5";
cn.Open();
dr = cm.ExecuteReader();
byte[] File = null;
if (dr.Read())
{
File = (byte[])dr[0];
}
dr.Close();
cn.Close();
/*
* 直接另存为文件
*
*/
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
Stream myStream;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
using (BinaryWriter bw = new BinaryWriter(myStream))
{
// Add some text to the file.
bw.Write(File);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from db. Original error: " + ex.Message);
}
}
分享到:
相关推荐
C#保存文件或读取数据库文件 另存为.doc
RichTextBox 练习,保存和读取图片数据库 QQ:292258449
共4个工程,1.C#使用Configuration的appsetting来保存窗体大小和位置。2,使用Configuration的自定义节点来保存窗体大小和位置。3.使用FileStream来保存包含位置和大小数据的对象。4.configuration保存字符串,可...
本话题主要聚焦于如何对比结构相同的Excel表格并提取差异行,然后将结果另存为新的.xls文件。这个过程涉及到的技术包括Excel操作、数据比对以及编程语言如C#的运用,同时也可能与SQL数据库查询相关联。 首先,我们...
通过使用Field或MailMerge,可以将外部数据源(如数据库或CSV文件)的数据插入到Word模板中,生成定制的PDF文档。例如,假设你有一个名为"Data.csv"的文件,其中包含一些要合并的数据,你可以这样做: ```csharp ...
3. 转到`文件` > `另存为`,在弹出的对话框中,选择保存类型为`文本(制表符分隔)(*.txt)`。 4. 设置合适的保存位置,然后点击`保存`。这样,Excel数据就被转换成txt文件,每列数据由制表符分隔。 接下来,描述中...
“另存为”功能需要用到文件对话框,让用户提供保存文件的路径和名称。`SaveFileDialog`类可以实现这一功能。当用户选择好文件路径后,我们使用`File.WriteAllText()`将richtextbox的内容写入文件。 历史记录功能是...
在多文档编辑器中,文件的打开、保存和另存为操作都需要涉及这些类。 5. **事件驱动编程**:C#的事件驱动模型使得用户界面交互变得简单。例如,当用户点击“打开”按钮时,触发`OpenFile`事件,调用相应的处理函数...
为了实现这些功能,开发者需要对C#编程语言有深入的理解,同时掌握如何使用ADO.NET进行数据库操作,例如使用SqlConnection、SqlCommand对象来连接数据库,执行SQL语句来读取、插入、更新或删除数据。此外,还需要...
总结,C#操作Word文档涉及使用`Microsoft.Office.Interop.Word`进行交互,读取、修改和保存文档,然后将文档转换为byte数组并利用ADO.NET接口保存到数据库。这个过程需要对C#编程、数据库操作以及可能的第三方库有...
2. 选择“文件”->“另存为”。 3. 在弹出的对话框中选择“CSV (逗号分隔) (*.csv)”作为保存类型。 4. 注意事项:CSV 文件中默认不会包含双引号,如果数据中有逗号,需要手动添加双引号进行包裹。 #### 三、CSV 转...
这样的功能通常涉及到文件I/O操作,C#提供了强大的文件系统访问API,可以轻松实现代码的读取和保存。 总的来说,这个代码收藏项目展示了C#在构建用户友好型、功能丰富的桌面应用方面的潜力,同时也体现了开发者对...
10.3.2 “另存为”对话框的使用 233 10.3.3 “颜色”对话框的使用 235 10.3.4 “字体”对话框的使用 238 10.3.5 “浏览文件夹”对话框的使用 240 10.4 本章小结 242 第2篇 提高篇 第11章 使用ADO.NET...
1. 保存为CSV或TXT:在“文件”>“另存为”中选择CSV或TXT格式,将当前工作簿的数据导出为纯文本文件。 2. 导出PDF或XPS:如果需要打印或分享不可编辑的文档,可以选择“文件”>“另存为”>“PDF”或“XPS”。 3. ...
在Excel中,可以将工作簿另存为.csv文件,这样文件内容就会以纯文本形式存储,每一列数据之间用逗号分隔。在编程中,读取.csv文件通常比直接操作Excel文件更高效,因为它们的结构相对简单,易于解析。.NET框架提供了...
在SQL Server中,可以通过Openrowset函数配合Excel的Jet驱动来导入Excel文件,或者先将Excel文件另存为`.csv`,然后使用BULK INSERT或INSERT INTO SELECT FROM T-SQL语句。 总结来说,Excel 2017和SQL Server提供了...
用户可以使用“打开”功能加载现有的文本文件,编辑后通过“保存”功能将更改保存回原文件或另存为新文件。 为了提升用户体验,文本编辑器通常会实现以下特性: 1. **语法高亮**:通过识别特定的编程语言关键字和...
9. **成绩另存为**:将当前成绩数据保存到新的文件或数据库中,以备份或分享。 在实现这些功能时,开发者可能会使用到以下技术: - 数据结构(如数组、列表或字典)来存储和操作成绩数据。 - 文件I/O操作,如使用`...
例如,`Form1.cs`可能就是一个包含此类自动导出逻辑的C#代码文件,它可能使用Interop库与Excel交互,读取数据并按指定格式保存。 在编写VBA宏时,你需要了解如何使用`Workbook.SaveAs`方法,指定文件路径、文件类型...
- 将Excel数据另存为CSV文件。 - 在SQL查询编辑器中编写BULK INSERT语句,指定CSV文件路径、数据库表名和字段映射。 3. **使用OPENROWSET函数** OPENROWSET函数可以直接从Excel文件读取数据,但需要启用Ad Hoc ...