private void showpic()
{
//显示相片
string uid=textBox1.Text.Trim(); //查找"职工相片"表中是否有当前职工
int yn=0;
for(int i=0;i<dspic.Tables[0].Rows.Count;i++)
{
if (uid.Trim() == dspic.Tables[0].Rows[i]["职工编号"].ToString().Trim())
{
byte[] b = (byte[])dspic.Tables["职工相片"].Rows[i][1];
//MemoryStream s = new MemoryStream(b);
//pictureBox1.Image = Image.FromStream(s);
//s.Close();
//上面代码与下面的功能相同,下面是用BMP格式相片效果要好些 //有相片则显示
if (b.ToString().Trim().Length>0)
{
MemoryStream s = new MemoryStream(b);
Bitmap bmp = new Bitmap(s);
System.Drawing.Image image = bmp;
pictureBox1.Image = image;
s.Close();
yn=1;//有相片标标志
}
}
}
//没有找到相片,清空pictureBox1
if(yn != 1) pictureBox1.Image =null;
}
private void savepic()
{
//保存相片
MemoryStream s = new MemoryStream();
pictureBox1.Image.Save(s,System.Drawing.Imaging.ImageFormat.Bmp);//BMP格式相片效果要好些
byte[] b = s.ToArray();
s.Close();
//查找"职工相片"表中是否有当前职工
string uid=textBox1.Text.Trim();
string y="";
int x=0;
for(int i=0;i<dspic.Tables[0].Rows.Count;i++)
{
if (uid.Trim() == dspic.Tables[0].Rows[i]["职工编号"].ToString().Trim())
{
x=i;
y="y";
break;
}
}
if(y=="y")
{
dspic.Tables["职工相片"].Rows[x]["职工相片"]=b;
}
else
{
DataRow myrow =dspic.Tables["职工相片"].NewRow();
myrow["职工编号"]=uid;
myrow["职工相片"]=b;
dspic.Tables["职工相片"].Rows.Add(myrow);
}
//dspic.Tables["职工相片"].Rows[0]["职工相片"]=b;
dapic.Update(dspic,"职工相片");//到保存员工信息时一起保存
}
{
//显示相片
string uid=textBox1.Text.Trim(); //查找"职工相片"表中是否有当前职工
int yn=0;
for(int i=0;i<dspic.Tables[0].Rows.Count;i++)
{
if (uid.Trim() == dspic.Tables[0].Rows[i]["职工编号"].ToString().Trim())
{
byte[] b = (byte[])dspic.Tables["职工相片"].Rows[i][1];
//MemoryStream s = new MemoryStream(b);
//pictureBox1.Image = Image.FromStream(s);
//s.Close();
//上面代码与下面的功能相同,下面是用BMP格式相片效果要好些 //有相片则显示
if (b.ToString().Trim().Length>0)
{
MemoryStream s = new MemoryStream(b);
Bitmap bmp = new Bitmap(s);
System.Drawing.Image image = bmp;
pictureBox1.Image = image;
s.Close();
yn=1;//有相片标标志
}
}
}
//没有找到相片,清空pictureBox1
if(yn != 1) pictureBox1.Image =null;
}
private void savepic()
{
//保存相片
MemoryStream s = new MemoryStream();
pictureBox1.Image.Save(s,System.Drawing.Imaging.ImageFormat.Bmp);//BMP格式相片效果要好些
byte[] b = s.ToArray();
s.Close();
//查找"职工相片"表中是否有当前职工
string uid=textBox1.Text.Trim();
string y="";
int x=0;
for(int i=0;i<dspic.Tables[0].Rows.Count;i++)
{
if (uid.Trim() == dspic.Tables[0].Rows[i]["职工编号"].ToString().Trim())
{
x=i;
y="y";
break;
}
}
if(y=="y")
{
dspic.Tables["职工相片"].Rows[x]["职工相片"]=b;
}
else
{
DataRow myrow =dspic.Tables["职工相片"].NewRow();
myrow["职工编号"]=uid;
myrow["职工相片"]=b;
dspic.Tables["职工相片"].Rows.Add(myrow);
}
//dspic.Tables["职工相片"].Rows[0]["职工相片"]=b;
dapic.Update(dspic,"职工相片");//到保存员工信息时一起保存
}
解决方案 »
- Delegate的Invoke和BeginInvoke区别???
- dataGridView comboBox 下拉列表 选中后,如何马上显示问题
- 请教c#开发桌面程序,自定义界面的资料。比如源码下载站,系统教材之类的
- DateTime用法的问题,我已经是0分了,但仍然请各位大虾帮忙。
- C#问题
- 急求答案 关于用TCP的方式将文件路径传输到局域网内另一台机器上
- 在网上找的“C#编程入门三部曲”代码,在vs.net2003运行有错误,有错误的行我作了标记,哪位大侠能帮助调试修改一下,先谢谢啦!
- 我想用C#做个邮件监控的的程序该怎么做?
- 如何强制加入属性信息?
- <新手>下面的24个不会,求解
- 请教委托和事件的初级问题!
- 怎么让窗口大小不随计算机的分辩率变化呢??
先将上传的图片存至本地fpath为路径
//打开临时文件
System.IO.FileStream fist= new FileStream(fpath,FileMode.Open);
if(fist.CanRead)
{
//读取临时文件的类容
byte[] bt = new byte[fist.Length];
int dd = (int)fist.Length;
fist.Read(bt,0,dd);
fist.Close();
//读取完数据关闭临时文件并删除
if(File.Exists(fpath))
{
File.Delete(fpath);
}
sql = "insert into table(pic) values(:b_blob)";
//加入参数
System.Data.OracleClient.OracleParameter op = new OracleParameter();
op.OracleType = OracleType.Blob;
op.ParameterName = ":b_blob";
op.Value = bt;
comd.Parameters.Add(op); comd.CommandText = sql;
comd.ExecuteNonQuery();
}读取:
strl_sql = "select pic from table"
cmdl_i.CommandText = strl_sql;
drl_i = cmdl_i.ExecuteReader();
if(drl_i.Read())
{
System.IO.FileStream fsl_i = new FileStream("c\\1.jpg",FileMode.Create);
if(fsl_i.CanWrite)
{
byte[] bt = (byte[])drl_i[0];
fsl_i.Write(bt,0,bt.Length);
fsl_i.Close();
}
}
drl_i.Close();
drl_i.Dispose();