有挑战:查错

skydaxia 2003-08-22 02:50:25
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());}

}
}
}
...全文
52 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
skydaxia 2003-09-08
  • 打赏
  • 举报
回复
还好,我已经解决了,我的软件也已经做好了。
gujianxin 2003-08-26
  • 打赏
  • 举报
回复
现在,我懒得理你了
skydaxia 2003-08-25
  • 打赏
  • 举报
回复
大家听好了
现在我有104分
谁做好,100分一定给
gujianxin 2003-08-23
  • 打赏
  • 举报
回复
不满意我的答案?

试试,原理应该是这样,可能赋值格式不对而已,

(分不分无所谓了,关键是解决问题,自己也有提高吗,大家不要太。。。)
skydaxia 2003-08-23
  • 打赏
  • 举报
回复
看来大家对我用一分来叫大家帮忙是很难得了,很好,大家都很适合做生意,有机会大家多多合作。但是我的点数是很少了,只要谁能够回答,并解决这个问题,我出一百分好了,绝对不会有假。如果还不相信,那我就没办法了。
gujianxin 2003-08-23
  • 打赏
  • 举报
回复
你的Cmd的SQL语句没有给参数赋值

cmd.Parameters.Add("@imagedata",SqlDbType.Image );
cmd.Parameters["@imagedata"].Value = imagedata;
huguojunsy 2003-08-23
  • 打赏
  • 举报
回复
确实,1分太扣了.
skydaxia 2003-08-22
  • 打赏
  • 举报
回复
我知道是储存时的问题,但不知道为什么会错
skydaxia 2003-08-22
  • 打赏
  • 举报
回复
是Bitmap img = new Bitmap(s);
参数出错
abcynic 2003-08-22
  • 打赏
  • 举报
回复
自己先找到在哪一句出错吧,这样没法给你看的,总不能还搭一个sql吧。
你用MessageBox.Show();查查在哪一句抛出的异常。
skydaxia 2003-08-22
  • 打赏
  • 举报
回复
你要分我会给的
只要答对
我刚来
分数不高,要么全给你也只有138分了
kuki84 2003-08-22
  • 打赏
  • 举报
回复
没搞错吧,这么长的代码才1分,我看出来了。
你要是给零分我或许告诉你,1分太抠了
skydaxia 2003-08-22
  • 打赏
  • 举报
回复
试过了
没用
dmn 2003-08-22
  • 打赏
  • 举报
回复
逐步去掉(注释)语句,直到找到出错语句为止。
skydaxia 2003-08-22
  • 打赏
  • 举报
回复
运行button2时出错:使用无效参数

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧