c# 截图并传到数据库 但错误找不到文件

如下图程序 我运行到这里时可以截图 并且能够保存早debug中 但当我调试到吧图片转换为二进制流是就出错
错误是找不到这个问件 但我去debug 中看是有这个文件的啊

    private void buttonSnap_Click(object sender, EventArgs e)
    {
        if(textBoxSnapAddrs.Text != null)
        {
            camera.snapPath = textBoxSnapAddrs.Text + @".bmp";
            camera.GrabImage();



            FileStream fs = new FileStream(@"textBoxSnapAddrs.Text.bmp", FileMode.Open);
            Byte[] by = new byte[fs.Length];
            fs.Read(by, 0, Convert.ToInt32(fs.Length));
            fs.Close();
            using (SqlConnection conn = new SqlConnection(con))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "insert into patient(p_image) values(@textBoxSnapAddrs.Text.bmp)";
                SqlParameter par = new SqlParameter("@textBoxSnapAddrs.Text.bmp", SqlDbType.Image);
                par.Value = by;
                cmd.Parameters.Add(par);
                int t = (int)(cmd.ExecuteNonQuery());
                conn.Close();
            } 

            MessageBox.Show("保存成功!");
                             求大神解答    我刚刚学c#   好多东西不太懂

你看一下你的文件名是否为:textBoxSnapAddrs.Text.bmp
因为你在程序中有这行代码:
FileStream fs = new FileStream(@"textBoxSnapAddrs.Text.bmp", FileMode.Open);

FileStream fs = new FileStream(@"textBoxSnapAddrs.Text.bmp", FileMode.Open); "textBoxSnapAddrs.Text.bmp" 这里只是个字符串,并不是文件的路径名称.

保存二进制 最好不要用sql 的形式进行插入保存
最好使用参数 或者存储过程的形式保存 否则中间保存过程sql 会以字串的形式写入 直接阶段二进制字串

应该是你的文件名写错了,你可以定义一个文件路径变量,在其他地方直接调用该变量即可:

string picPath = textBoxSnapAddrs.Text + @".bmp";

代码修改之后为:
private void buttonSnap_Click(object sender, EventArgs e)
{
if(textBoxSnapAddrs.Text != null)
{
string picPath = textBoxSnapAddrs.Text + @".bmp";//新加

        camera.snapPath = picPath;//修改
        camera.GrabImage();

        FileStream fs = new FileStream(picPath, FileMode.Open);//修改
        Byte[] by = new byte[fs.Length];
        fs.Read(by, 0, fs.Length);//修改
        fs.Close();

        using (SqlConnection conn = new SqlConnection(con))
        {
            SqlCommand cmd = conn.CreateCommand();//新加
            cmd.CommandText = "insert into patient(p_image) values(@textBoxSnapAddrs);";//修改

            SqlParameter par = new SqlParameter("@textBoxSnapAddrs", SqlDbType.Image, by);//修改
            cmd.Parameters.Add(par);

            conn.Open();//新加
            int t = (int)(cmd.ExecuteNonQuery());
            conn.Close();


        } 
        if(t > 0)
        {
            MessageBox.Show("保存成功!");
        }
        else
        {
            MessageBox.Show("保存失败!");
        }