有挑战:查错
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Data.SqlClient;
namespace img
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(48, 24);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(184, 168);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// button1
//
this.button1.Location = new System.Drawing.Point(144, 232);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(160, 24);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(0, 232);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(120, 24);
this.button2.TabIndex = 2;
this.button2.Text = "button2";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button2,
this.button1,
this.pictureBox1});
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
string sqlstr=@"server=ycw;database=soken;user id=sa;pwd=198;connection timeout=10";
SqlConnection cn=new SqlConnection(sqlstr);
cn.Open();
SqlCommand cmd=cn.CreateCommand();
cmd.CommandText="select imagedata from imgt";
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
MessageBox.Show(dr["imagedata"].ToString());
byte[] imagedata=(byte[])dr["imagedata"];
MemoryStream s = new MemoryStream(imagedata);
//sm.Write(imagedata, 0, imagedata.Length);
Bitmap img = new Bitmap(s);
//Image img=Image.FromStream(s);
pictureBox1.Image = img;
}
}
private void button2_Click(object sender, System.EventArgs e)
{
try
{
string sqlstr=@"server=ycw;database=soken;user id=sa;pwd=198;connection timeout=10";
SqlConnection cn=new SqlConnection(sqlstr);
cn.Open();
SqlCommand cmd=cn.CreateCommand();
//cmd.CommandText=("create table imgt(imagefile NVARCHAR(20),imagedata IMAGE)");
//cmd.ExecuteNonQuery();
DialogResult rs=openFileDialog1.ShowDialog();
string imgfn=null;
if(rs==DialogResult.OK)
{
//pictureBox1.Image=Image.FromFile(openFileDialog1.FileName.ToString() );
imgfn=openFileDialog1.FileName.ToString();
//pictureBox1.Image=null;
//pictureBox1.Refresh();
}
string imagefile=imgfn;
FileStream fs=new FileStream (imgfn,FileMode.Open);
BinaryReader br=new BinaryReader(fs);
byte[] imagedata =br.ReadBytes(1000);
cmd.CommandText="insert into imgt(imagefile,imagedata) values('imagefile','@imagedata')";
//cmd.Parameters.Add("@imagefile",SqlDbType.NVarChar );
//cmd.Parameters.Add("@imagedata",SqlDbType.Image );
cmd.ExecuteNonQuery();
}
catch(Exception x)
{MessageBox.Show(x.Message.ToString());}
}
}
}