• 从数据库下载文档到指定目录下


    dataGridView1第0列是checkbox 选中则下载。       
    private void button5_Click(object sender, EventArgs e)
            {
                int j = dataGridView1.Rows.Count;
                Boolean find = false;
                for (int i = 0; i < j; ++i)
                {
                    if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) == true)
                    {
                        find = true;
                        SaveFileDialog sfd = new SaveFileDialog();
                        sfd.FileName = dataGridView1.Rows[i].Cells[4].Value.ToString();     //获取文件名
                        string str = dataGridView1.Rows[i].Cells[3].Value.ToString();         //获取文件后缀名
                        switch (str)
                        {
                            case ".doc":
                                sfd.Filter = "word文档(*.doc)|*.Doc";
                                break;
                            case ".xls":
                                sfd.Filter = "xls文档(*.xls)|*.xls";
                                break;
                            case ".txt":
                                sfd.Filter = "txt文档(*.txt)|*.txt";
                                break;
                            case ".jpg":
                                sfd.Filter = "图片文档(*.jpg)|*.jpg";
                                break;
                            case ".bmp":
                                sfd.Filter = "图片文档(*.bmp)|*.bmp";
                                break;
                            case ".gif":
                                sfd.Filter = "图片文档(*.gif)|*.gif";
                                break;
                            default:
                                sfd.Filter = "其他格式|*." + dataGridView1.Rows[i].Cells[10].Value.ToString();
                                break;
                        }
                        try
                        {
                            sqlDataAdapter1.SelectCommand.CommandText = "select ProjectContent from content where id='" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "'";
                            DataSet dataset = new DataSet();
                            sqlDataAdapter1.Fill(dataset, "content");
                            byte[] mydata = null;
                            mydata = (byte[])dataset.Tables[0].Rows[0]["ProjectContent"];

                            Int32 size = mydata.GetUpperBound(0);

                            string filepath;
                            if (sfd.ShowDialog() == DialogResult.OK)
                            {

                                sfd.FilterIndex = 1;
                                filepath = sfd.FileName;
                                FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write);
                                fs.Write(mydata, 0, size + 1);
                                fs.Close();
                                MessageBox.Show("保存文件成功!", "提示");
                               
                            }

                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString(), "错误提示");
                        }

                    }

                }
                if (find == false)
                {
                    MessageBox.Show("请选中要下载的文档!", "提示");

                }
            }

  • 相关阅读:
    不写代码能实现APP消息推送吗
    如何让智能设备接入天猫精灵,实现语音控制功能
    给GoKit3(STM32)装一块N102,在家就能体验NB-IoT开发啦
    ESP8266 NodeMcu机智云SOC方案开发经验分享
    利用map和reduce编写一个str2float函数
    代码学习(1)
    箱线图boxplot()的绘制
    mysql远程访问数据库的问题解决
    codeforces 596 C. p-binary
    主席树的妙用——Just h-index
  • 原文地址:https://www.cnblogs.com/hyd309/p/1182896.html
Copyright © 2020-2023  润新知