• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
he dream rolls on from here!I believe in me
我相信我自己!梦想从这里开始
博客园    首页    新随笔    联系   管理    订阅  订阅

winform 中往数据库中添加图片的两种方式之一

方法一:在数据库中添加图片名字,然后把图片存在指定的文件夹中

           这种方法存起来简单,但是删除的时候麻烦。

           存:在数据库中建一个文本字段(access)或者varchar字段(sqlserver)长度能放上一张图片即可

                 过程:就是一般的存的insert into 

                          举个栗子:sql数据库中有一个id字段 自增类型 一个name字段,用于存放图片名称的类型是varchar类型

                          这winform界面中你可以拖动一个TextBox,用于存放路径,一个Button这个就不说了,还有一个openFileDialog

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

                          {

                               this.textBox1.Text = openFileDialog1.FileName;

                          } //打开路径,必不可少的     这些都是是在button单击事件里完成的

                          if (openFileDialog1.FileName.Length > 0) // 判断openFileDialog1路径的长度

                           {

                                  string oldName = openFileDialog1.FileName;            //定义一个string类型的变量 用于存放【文件路径】

                                   string[] splitName = oldName.Split('.');                     //为获取文件的扩展名做准备的

                                   string ext = splitName[splitName.Length - 1];          //文件的扩展名

                                    if (ext == "jpg" || ext == "gif" || ext == "bmp" || ext == "JPG")   //限制上传图片的格式

                                    {

                                         string dbName = DateTime.Now.ToString("yyyyMMddhhmmss") + "." + ext; //给上传的图片起个名字!以时间命名

                                         string newName = AppDomain.CurrentDomain.BaseDirectory  + dbName;  //新路径!这是个相对路径

                                         File.Copy(oldName, newName, true);  //把文件从以前的路径复制到新的路径中去

                                         //下面就开始添加到数据库里面了

                                         string constring="";//数据库的连接字符串

                                         using (SqlConnection con=new SqlConnection (constring))

                                          {

                                              con.open();

                                              stirng sql="insert into shujukuname (name) values(@name)"; //因为id自增的这里只需要添加图片名称

                                              SqlCommand cmd = new SqlCommand(sql,con);

                                              cmd.Parameters.Add("@name",SqlDbType.VarChar).Value=TextBox1.Text.Trim();

                                              cmd.ExecuteNonQuery();

                                              con.Close();

                                          }

                                    }                     

                           }                                                                                              //这样就添加完成了

            显示图片:  这里一定要有一个PictureBox1

                          要从数据库中取出这个name

                         using (SqlConnection con=new SqlConnection (constring))

                         {

                              string sql="select name from shujukuname where id=' 1'   ";//当id=1的时候查询的图片的名称

                               SqlDataAdapter da = new SqlDataAdapter(sql, con);

                               con.Open();

                               DataTable dt=new  DataTable();

                               da.Fill(dt);

                               string name =dt.Rows[0]["name"].ToString();

                               con.Close();                          //这样就获取出name来了,然后进行显示

                         }

                               string path=Application.StartupPath + "//"+ name;  //一张图片的路径

                               if(File.Exists(path)) //根据这个路劲显示有没有这张图片

                               {

                                      PictureBox1.Image=Image.FromFile(path);                  //PictureBox1显示的path路径的图片

                               }

                              else

                                {

                                        PictureBox1.Image=Image.FromFile(Application.StartupPath + "//" +默认图片);  //PictureBox1显示的默认的的图片

                                }

               今天写这一个吧!如果有发现不准确的或者错误的或者有什么疑问的请直接留言或者联系我QQ81704239

               谢谢朋友们给我提出宝贵的建议

posted @ 2011-08-12 17:10  Star_liu  阅读(1205)  评论(4)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3