永发信息网

c#怎么向SQL上传txt

答案:1  悬赏:40  手机版
解决时间 2021-04-30 07:23
  • 提问者网友:辞取
  • 2021-04-30 04:09

我把图片转换成十六进制txt文件了 怎么把这个文件上传到SQL数据库?

把上传方法和读取方法都想细说一下 谢谢了

最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-04-30 05:26

我想你是想把图片存进数据库,不用那么麻烦的,图片是可以直接存进数据库的,给你个例子,你自己看看


将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下:

private void button1_Click(object sender, EventArgs e)


{


openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";


if(openFileDialog1.ShowDialog()==DialogResult.OK)


{
string fullpath =openFileDialog1.FileName;//文件路径


FileStream fs = new FileStream(fullpath, FileMode.Open);


byte[] imagebytes =new byte[fs.Length];


BinaryReader br = new BinaryReader(fs);


imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));


//打开数据库


SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");


con.Open();


SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);


com.Parameters.Add("ImageList", SqlDbType.Image);


com.Parameters["ImageList"].Value = imagebytes;


com.ExecuteNonQuery();


con.Close();


}


}



本实例主要介绍如何从数据库中把图片读出来。实现本实例主要是利用SqlDataReader从数据库中把Image字段值读出来,赋给一个byte[]字节数组,然后使用MemoryStream类与Bitmap把图片读取出来。主要代码如下:


private void button1_Click(object sender, EventArgs e)


{


byte[] imagebytes = null;


//打开数据库


SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");


con.Open();


SqlCommand com = new SqlCommand("select top 1* from tb_09", con);


SqlDataReader dr = com.ExecuteReader();


while (dr.Read())


{


imagebytes = (byte[])dr.GetValue(1);


}


dr.Close();


com.Clone();


con.Close();


MemoryStream ms = new MemoryStream(imagebytes);


Bitmap bmpt = new Bitmap(ms);


pictureBox1.Image = bmpt;


}



本实例主要介绍如何只允许输入指定图片格式。用OpenFileDialog控件打开图片文件,只要将OpenFileDialog控件的Filter属性指定为特定的图片格式即可。例如,打开.bmp文件的图片,主要代码如下:


this.openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp";



在用pictureBox控件输入图片时,要想统一图片大小,只需把控件的SizeMode属性值设为StretchImage即可,StretchImage值表示图像的大小将调整为控件的大小。这样,图片的大小就统一了。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯