那个老师教你用datagridview显示图片!用pictureBox不是更好吗?我给你一段源程序!你好好看看!数据库我也给你!只是图片!
源代码如下:
using System
using System.Collections.Generic
using System.ComponentModel
using System.Data
using System.Drawing
using System.Text
using System.Windows.Forms
using System.Data.SqlClient
using System.IO
using System.Data.SqlTypes
namespace BLOB
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent()
UpdateTime.Text = System.DateTime.Now.ToString()
}
string PhotoName = ""
byte[] Pic
private void BSelect_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "选择图片(*.BMP*.JPG*.GIF)|*.BMP*.JPG*.GIF|All files(*.*)|*.*"
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName,true)//牛逼啊、、、、、、、、、、、、
PhotoName = openFileDialog1.FileName
Pname.Text = PhotoName.Substring(PhotoName.LastIndexOf(@"\") + 1)//1·11!!
}
else
{
MessageBox.Show("您还未选取图片", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
return
}
}
private void BAdd_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.Initial Catalog=ContactIntegrated Security=True")
try
{
conn.Open()
SqlCommand cmd = new SqlCommand("insert into BLOB values(@name,@time,@photo)", conn)
cmd.Parameters.AddWithValue("@name", Pname.Text)
cmd.Parameters.AddWithValue("@time", UpdateTime.Text)
Pic = File.ReadAllBytes(PhotoName)
cmd.Parameters.AddWithValue("@photo", Pic)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("插入数据成功!", "提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString())
}
}
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=.Initial Catalog=ContactIntegrated Security=True")
if (conn.State == ConnectionState.Closed)
{
conn.Open()
}
SqlCommand cmd = new SqlCommand("select name from BLOB",conn)
SqlDataReader dr = cmd.ExecuteReader()
while (dr.Read())
{
list.Items.Add(dr.GetString(0))
}
}
private void list_SelectedIndexChanged(object sender, EventArgs e)
{
if (list.SelectedIndex == -1)
{
return
}
else
{
SqlConnection conn = new SqlConnection("Data Source=.Initial Catalog=ContactIntegrated Security=True")
if (conn.State == ConnectionState.Closed)
{
conn.Open()
}
string SelectItem = list.SelectedItem.ToString()
SqlCommand cmd = new SqlCommand("Select * from BLOB where name=@SelectItems",conn)
cmd.Parameters.AddWithValue("@SelectItems", SelectItem)
SqlDataReader dr = cmd.ExecuteReader()
if (dr.Read())
{
Pname.Text = dr.GetString(0)
UpdateTime.Text = dr.GetDateTime(1).ToString()
SqlBytes PhotoBytes = dr.GetSqlBytes(2)
pictureBox1.Image = Image.FromStream(PhotoBytes.Stream)
}
dr.Close()
conn.Close() //最好加上这两个CLOSE()方法!
}
}
}
}
数据库图片 和 C# 图片 自己区分!我想你能看懂:
你在登陆界面登陆成功的时候 生成一个 记事本txt 文件 把你的用户名写在 txt文件里面当然在你登陆窗体加载的时候 要写一个 读取txt的方法
string str = 用户名 (字符创)
FileStream fs=new FileStream (path+".txt",FileMode.Create)
StreamWriter sw = new StreamWriter(fs)
sw.Write(str)
sw.Close()
fs.Close()
写的 读的 是read
为了这20分 仁至义尽
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作
PHP4.4.1+MySQL
5.1的环境下出现了如下的提示:
复制代码
代码如下:
File
‘c:\mysql\share\charsets\?.conf'
not
found
(Errcode:
22)
Character
set
‘#33′
is
not
a
compiled
character
set
and
is
not
specified
in
the
‘c:\mysql\share\charsets\Index'
file
查阅一番后基本可以确定原因为低版本的PHP和高版本的MySQL之间的兼容性导致的。
最简单的办法是升级PHP到PHP5.3版本即可搞定,未知测试。因服务器不是我配的,不敢乱动,怕搞出麻烦,于是保留低版本的PHP,另寻其他方法。
以下试验了多种网络上查到的解决方法,供大家参考:
有说是MySQL的配置中basedir没设好,检查了一下MySQL安装目录下的my.ini,basedir正确,不是这个原因。
有说把MySQL的配置my.ini中的default-character-set=utf8前面加#注释掉就搞定的,我改了,无效。
有说把MySQL安装目录\share\charsets目录下的所有文件复制到c:\mysql\share\charsets\下的,我复制了,一样无效。
最后找到一种方法,把PHP.ini中的output_buffering
=
Off
改为
output_buffering
=
On,上面的提示不见了,搞定。
知其然,不知其所以然。哪位大虾知道的,烦请告知,小弟谢过!
暂时解决...\charsets\?.conf'
not
found
(Errcode:
22)
Character
set
'#33'
php程序提示以下类似的错误的信息:
File
'c:\mysql\share\charsets\?.conf'
not
found
(Errcode:
22)
Character
set
'#33'
is
not
a
compiled
character
set
and
is
not
specified
in
the
'c:\mysql\share\charsets\Index'
file
这个错误没有影响程序的运行,但是影响界面。
大概的原因应该是因为Mysql
4.1以上的版本对编码规则改变导致了好多大大小小的问题,如果服务器的默认字符集是UTF8,DOS的窗口就会出现此类提示。
出现这样问题的人不在少数,但是从搜索的结果来看,最后解决这个问题的人是极少数的,据说有人用了php5就解决了。但是我不愿意升级到php5,最后花了好多时间才看到一个人的好建议(因为在公司搜索的时候没有记录,所以出处无从考究了),那个人大概的意思是从Myslq官方网站看到以下信息:
"后来在Mysql的官方网站上看有人说,错误提示信息不是说要找那个目录的某个文件吗,那就去建立一个目录"!
更好的地方是,那个贴子还提供了相关的文件,我特地装进U盘带了回来,共享一下!
PS:解压以后把mysql这个文件夹中的Charsets目录替换mysql下的Charsets目录就行了!
压缩包下载:点这里下载附件(mysql.zip)
apache+php+mysql中图片不能显示问题
做了一个显示数据库中图片的php网页,但是显示不出来。查Apache中的log,发现有如下提示:
File
'c:\mysql\share\charsets\?.conf'
not
found
(Errcode:
2)
Character
set
'#24'
is
not
a
compiled
character
set
and
is
not
specified
in
the
'c:\mysql\share\charsets\Index'
file
File
'c:\mysql\share\charsets\?.conf'
not
found
(Errcode:
2)
Character
set
'#24'
is
not
a
compiled
character
set
and
is
not
specified
in
the
'c:\mysql\share\charsets\Index'
file
File
'c:\mysql\share\charsets\?.conf'
not
found
(Errcode:
2)
解决办法:
现确定phpinfo()显示的mysql的版本。如果显示的版本和机器里正在运行的mysql的版本不一样就说明是有问题了。我机器上运行的是4.1版本的,但是显示的是3.23.49版本。可能是以前安装的mysql版本没有卸载完全。重新编译PHP,
./configure
--with-mysql=/${MYSQL}
.再次查看phpinfo()里mysql的版本。重新刷新显示图片的页面,能够正常显示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)