c#.net上传文件到数据库中(把文件转换成二进制流存在后台数据库)

来源:互联网 发布:道奇charger srt数据 编辑:程序博客网 时间:2024/06/01 08:24

OpenFileDialog testreportfile = new OpenFileDialog();
            testreportfile.InitialDirectory = @"c:/";
            testreportfile.RestoreDirectory = true;
            testreportfile.Multiselect = false;
            if (testreportfile.ShowDialog() == DialogResult.OK)
            {
                this.textBox8.Text = testreportfile.FileName;
                filename = testreportfile.FileName.Substring(testreportfile.FileName.LastIndexOf("//") + 1, (testreportfile.FileName.LastIndexOf(".") - testreportfile.FileName.LastIndexOf("//") - 1)); //文件的名称
                filetype = testreportfile.FileName.Substring(testreportfile.FileName.LastIndexOf(".") + 1, (testreportfile.FileName.Length - testreportfile.FileName.LastIndexOf(".") - 1));//文件的扩展名

                Stream myStream = testreportfile.OpenFile();
                int length = (int)myStream.Length;
                filedata = new byte[length];
                myStream.Read(filedata, 0, length);                myStream.Close();       

SqlCommand scwj = new SqlCommand("insert_testreport", myConnection);
                scwj.CommandType = CommandType.StoredProcedure;
                scwj.Parameters.Add("@PID", SqlDbType.Int);
                scwj.Parameters.Add("@TRCode", SqlDbType.VarChar, 20);
                scwj.Parameters.Add("@TRDate", SqlDbType.DateTime);
                scwj.Parameters.Add("@MMID", SqlDbType.Int);
                scwj.Parameters.Add("@TOrgan", SqlDbType.VarChar, 200);
                scwj.Parameters.Add("@UName", SqlDbType.VarChar, 20);
                scwj.Parameters.Add("@Explian", SqlDbType.VarChar, 200);
                scwj.Parameters.Add("@FileName", SqlDbType.VarChar, 40);
                scwj.Parameters.Add("@FileType", SqlDbType.Char, 10);
                scwj.Parameters.Add("@FileData", SqlDbType.Image);


                scwj.Parameters[0].Value = report_add_pid;
                scwj.Parameters[1].Value = textBox3.Text.Trim();
                scwj.Parameters[2].Value = dateTimePicker1.Value;
                scwj.Parameters[3].Value = report_add_mmid;
                scwj.Parameters[4].Value = textBox5.Text.Trim();
                scwj.Parameters[5].Value = login.strUser;
                scwj.Parameters[6].Value = textBox6.Text.Trim();
                scwj.Parameters[7].Value = filename;
                scwj.Parameters[8].Value = filetype;
                scwj.Parameters["@FileData"].Value = filedata;

                myConnection.Open();
                scwj.ExecuteNonQuery();
                myConnection.Close();        
            }

原创粉丝点击