保存到mysql数据库中(数据库mysql存储过程)

  • 1、如何把文件存放在mysql数据库中
  • 2、如何将图片储存在MySQL数据库里?
  • 3、把用户操作记录保存到mysql数据库怎么实现

1、mysql如果使用myisam存储引擎,数据库文件类型就包括.frm、.myd、.myi,默认存放位置是c:\documents

and

settings\all

users\application

data\mysql\mysql

server

5.1\data

2、mysql如果使用innodb存储引擎,mysql数据库文件类型就包括.frm、ibdata1、.ibd,存放位置有两个,

.frm文件默认存放位置是c:\documents

and

settings\all

users\application

data\mysql\mysql

server

5.1\data,

ibdata1、.ibd文件默认存放位置是mysql安装目录下的data文件夹

解决方法一般有两种:

1、将图片保存的路径存储到数据库;

2、将图片以二进制数据流的形式直接写入数据库字段中。

以下为具体方法:

一、保存图片的上传路径到数据库:

string

uppath=””;//用于保存图片上传路径

//获取上传图片的文件名

string fileFullname =

this.FileUpload1.FileName;

//获取图片上传的时间,以时间作为图片的名字可以防止图片重名

string

dataName =

DateTime.Now.ToString(“yyyyMMddhhmmss”);

//获取图片的文件名(不含扩展名)

string

fileName = fileFullname.Substring(fileFullname.LastIndexOf(“\\”) +

1);

//获取图片扩展名

string type =

fileFullname.Substring(fileFullname.LastIndexOf(“.”) +

1);

//判断是否为要求的格式

if (type == “bmp” || type == “jpg” || type == “jpeg”

|| type == “gif” || type == “JPG” || type == “JPEG” || type == “BMP” || type ==

“GIF”)

{

//将图片上传到指定路径的文件夹

this.FileUpload1.SaveAs(Server.MapPath(“~/upload”)

+ “\\” + dataName + “.” +

type);

//将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath

= “~/upload/” + dataName + “.” +

type;

}

二、将图片以二进制数据流直接保存到数据库:

引用如下命名空间:

using

System.Drawing;

using System.IO;

using

System.Data.SqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

//图片路径

string

strPath = this.FileUpload1.PostedFile.FileName.ToString

();

//读取图片

FileStream fs = new System.IO.FileStream(strPath,

FileMode.Open, FileAccess.Read);

BinaryReader br = new

BinaryReader(fs);

byte[] photo =

br.ReadBytes((int)fs.Length);

br.Close();

fs.Close();

//存入

SqlConnection

myConn = new SqlConnection(“Data Source=.;Initial Catalog=stumanage;User

ID=sa;Password=123″);

string strComm = ” INSERT INTO

stuInfo(stuid,stuimage) VALUES(107,@photoBinary

)”;//操作数据库语句根据需要修改

SqlCommand myComm = new SqlCommand(strComm,

myConn);

myComm.Parameters.Add(“@photoBinary”, SqlDbType.Binary,

photo.Length);

myComm.Parameters[“@photoBinary”].Value =

photo;

myConn.Open();

if (myComm.ExecuteNonQuery()

0)

{

this.Label1.Text =

“ok”;

}

myConn.Close();

读取:

…连接数据库字符串省略

mycon.Open();

SqlCommand

command = new

SqlCommand(“select stuimage from stuInfo where stuid=107”,

mycon);//查询语句根据需要修改

byte[] image = (byte[])command.ExecuteScalar

();

//指定从数据库读取出来的图片的保存路径及名字

string strPath =

“~/Upload/zhangsan.JPG”;

string strPhotoPath =

Server.MapPath(strPath);

//按上面的路径与名字保存图片文件

BinaryWriter bw = new

BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));

bw.Write(image);

bw.Close();

//显示图片

this.Image1.ImageUrl

= strPath;

采用这两种方式可以根据实际需求灵活选择。

修改my.cnf,在[mysqld]段加入

log-bin

重启mysql服务后,你的操作会在数据库的目录中生成一些mysqld.bin.000001文件,这些就是操作日志。你的对数据的操作,如创建表格,插入,删除等,都会被记录进去。

这个功能还被用于双机数据库热备份。

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/126728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点的头像简单一点
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:12

相关推荐

  • Android Display:提高APP用户体验的关键

    一、响应性 响应性是Android Display的重要方面之一。用户希望在使用APP时能够获得快速、平滑的用户体验。为此,开发人员需要确保APP的响应时间尽可能短并尽量减少阻塞用…

    编程 2024-11-12
  • 代码时钟js文件,js数字时钟代码

    本文目录一览: 1、如何使用JS实现一个简易数码时钟 2、html时钟代码怎么分解成.js文件的形式 3、js动态数字时钟代码请教 如何使用JS实现一个简易数码时钟 设计思路: 数…

    编程 2024-11-24
  • 详解p3305dn打印机驱动

    一、驱动程序安装 1、安装包下载 从官方网站或厂家提供的光盘中下载对应的驱动程序安装包,注意选择正确的操作系统平台。 2、启动安装程序 双击安装程序,启动安装向导,按照提示进行安装…

    编程 2024-12-07
  • 压缩包密码的安全性与应用

    一、常见压缩包密码算法 1、基于哈希算法的密码:压缩包密码算法主要使用MD5、SHA等哈希算法,这些算法具有不可逆性和唯一性,密码不易被破解。 2、基于对称加密算法的密码:常见的对…

    编程 2024-11-30
  • python等岗位均需要(python职位要求)

    1、学习Python开发可以从事哪些岗位 2、python就业方向有哪些 3、Python就业方向这么多,哪些岗位最有发展 下面我们来说一下Python具体的工作岗位以及其岗位要求…

  • php获得请求头,php 请求头

    本文目录一览: 1、php中http请求头有什么内容,由什么组成 2、php如何获取http头部信息 3、php get请求中的请求头应该如何设置 4、如何在php中获取curl请…

    编程 2024-11-19
  • 微软在线翻译

    一、微软在线翻译网页 微软在线翻译是微软公司推出的在线翻译平台,用户可以通过网页进行在线文本翻译,支持多种语言之间的相互翻译。 在微软在线翻译网页中,用户可以输入需要翻译的文本,并…

    编程 2024-11-28
  • echartslegend自定义

    简介 echarts是一款基于关系图的数据可视化工具,用于快速绘制各种各样的数据可视化图表。其中legend是用来标识每个系列的内容和颜色的组件,可以通过对其进行自定义来满足不同的…

    编程 2024-11-25
  • 学习java还是py,java好学么

    本文目录一览: 1、java和python哪个好学 2、学Java好还是学Python好? 3、python好学还是Java好学? java和python哪个好学 ①python比…

    编程 2024-10-27
  • 饿了么-便捷的线上订餐平台

    一、xy.ele.me概述 xy.ele.me是饿了么集团旗下的在线订餐网站,成立于2008年,总部位于上海。它是国内知名的外卖平台之一,代表了网上订餐市场的趋势。 饿了么通过构建…

    编程 2024-12-01

发表回复

登录后才能评论