当前位置:网站首页>c#图文混合,以二进制方式写入数据库
c#图文混合,以二进制方式写入数据库
2022-07-05 16:59:00 【游戏编程】
`

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.OleDb;using System.IO;namespace _07_二进制保存数据库{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } //数据库连接字符串 private static readonly string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb"); MemoryStream StreamObject = null; //写入到数据库 写入按钮************************************************************** private void button1_Click(object sender, EventArgs e) { Byte[] bt; //string str; //使用内存流 using (MemoryStream savefilestream = new MemoryStream()) { richTextBox1.SaveFile(savefilestream, RichTextBoxStreamType.RichText); bt = savefilestream.ToArray(); } //string sql = string.Format("insert into 表1(字段2)values(@字段2)"); string sql = string.Format("insert into 表1(字段2)values(@字段2)"); //string sql = "update Tab1 set [email protected] where id=1"; int a = CRdata(sql, "@字段2",bt); if (a > 0) { MessageBox.Show("写入成功"); } } //从数据库中读取 读取按钮############################################################### private void button2_Click(object sender, EventArgs e) { //select 列1, 列2, 列3 from 表名 where 字段1 = '4'; string sql1 = string.Format("select 字段2 from 表1 where ID=21"); //从数据库中读出数据 DataTable dt = DCdata(sql1); byte[] bWrite = (byte[])dt.Rows[0][0]; //将数组转换成stream System.IO.MemoryStream mstream = new System.IO.MemoryStream(bWrite, false); //将stream填充到RichTextBox this.richTextBox1.LoadFile(mstream, RichTextBoxStreamType.RichText); } /// <summary> /// 文字加图片写入到数据库方法。二进制数组。 /// </summary> /// <param name="sql"></param> /// <param name="paramName"></param> /// <param name="btArray"></param> /// <returns></returns> public static int CRdata(string sql,string paramName, byte[] btArray) { int returnResult = 0; using (OleDbConnection conn = new OleDbConnection(connStr)) { using (OleDbCommand comm = new OleDbCommand(sql, conn)) { conn.Open(); //这一行决定是否写入成功。 comm.Parameters.Add(paramName, OleDbType.Binary, btArray.GetLength(0)).Value = btArray; returnResult = comm.ExecuteNonQuery(); } conn.Close(); } return returnResult; } /// <summary> /// 读取数据库方法 /// </summary> /// <param name="sql"></param> /// <param name="ReturnRowCounter"></param> /// <returns></returns> public static DataTable DCdata(string sql) { DataTable dt = new DataTable(); using (OleDbConnection conn = new OleDbConnection(connStr)) { using (OleDbDataAdapter ADP = new OleDbDataAdapter(sql, conn)) { //ReturnRowCounter = ADP.Fill(dt); ADP.Fill(dt); } } return dt; } }}作者:雨天读书
游戏编程,一个游戏开发收藏夹~
如果图片长时间未显示,请使用Chrome内核浏览器。
边栏推荐
猜你喜欢

Kafaka technology lesson 1

WR | 西湖大学鞠峰组揭示微塑料污染对人工湿地菌群与脱氮功能的影响

Use JDBC technology and MySQL database management system to realize the function of course management, including adding, modifying, querying and deleting course information.

Alpha conversion from gamma space to linner space under URP (II) -- multi alpha map superposition

一个满分的项目文档是如何书写的|得物技术

Machine learning 02: model evaluation
SQL删除重复数据的实例教程

Embedded UC (UNIX System Advanced Programming) -2

【性能测试】jmeter+Grafana+influxdb部署实战

NPM installation
随机推荐
云安全日报220705:红帽PHP解释器发现执行任意代码漏洞,需要尽快升级
【二叉树】根到叶路径上的不足节点
Flow characteristics of kitchen knife, ant sword, ice scorpion and Godzilla
EasyX second lesson
7.Scala类
What else do you not know about new map()
goto Statement
Learn about MySQL transaction isolation level
C language to get program running time
SQL删除重复数据的实例教程
Flask solves the problem of CORS err
漫画:有趣的【海盗】问题
一个满分的项目文档是如何书写的|得物技术
easyNmon使用汇总
Browser rendering principle and rearrangement and redrawing
Debug kernel code through proc interface
【jmeter】jmeter脚本高级写法:接口自动化脚本内全部为变量,参数(参数可jenkins配置),函数等实现完整业务流测试
Mysql5.6 parsing JSON strings (supporting complex nested formats)
CMake教程Step3(添加库的使用要求)
Rider 设置选中单词侧边高亮,去除警告建议高亮