Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中加载带有Oracle Blob的Picturebox_C#_Oracle_Blob_Picturebox - Fatal编程技术网

C# 在C中加载带有Oracle Blob的Picturebox

C# 在C中加载带有Oracle Blob的Picturebox,c#,oracle,blob,picturebox,C#,Oracle,Blob,Picturebox,我有一个非常基本的表单,只有一个图片框、一个文本字段和一个按钮。我已经在Oracle中创建了一个表来存储blob,我想在单击按钮后将该图像加载到c中的picturebox中。这是我到目前为止写的 我的picturebox名称=PicboxX射线。我的文本框名称=txtrayid。我的按钮名称=btnGetXrayID。我的桌子名是X光 private void btnGetXrayID_Click(object sender, EventArgs e) { i

我有一个非常基本的表单,只有一个图片框、一个文本字段和一个按钮。我已经在Oracle中创建了一个表来存储blob,我想在单击按钮后将该图像加载到c中的picturebox中。这是我到目前为止写的

我的picturebox名称=PicboxX射线。我的文本框名称=txtrayid。我的按钮名称=btnGetXrayID。我的桌子名是X光

    private void btnGetXrayID_Click(object sender, EventArgs e)
    {


        if (txtXrayId.Text == "")
        {
            MessageBox.Show("XrayID be entered");
        }

        if (picBoxXray.Image != null)        
        { 
            picBoxXray.Image.Dispose();         
        }

        string connectionString = GetConnectionString();
        using (OracleConnection connection = new OracleConnection())
        {
            connection.ConnectionString = connectionString;
            connection.Open();
            Console.WriteLine("State: {0}", connection.State);
            Console.WriteLine("ConnectionString: {0}",
                              connection.ConnectionString);

            OracleCommand command = connection.CreateCommand();

            string sql = "SELECT * FROM XRay WHERE XrayID =" + txtXrayId.Text;

            OracleCommand cmd = new OracleCommand(sql, connection);
            OracleDataReader dr = cmd.ExecuteReader();
            cmd.CommandType = CommandType.Text;
            dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                // Obtain the image
                //Need code

            }

            command.CommandText = sql;
            command.ExecuteNonQuery();
            connection.Close();

    }
任何帮助都将非常感谢,
谢谢

您必须从流创建图像,例如:

public Image ByteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}
然后将图像签名到图片框中。中的byteArray是从db中读取的blob。当然,图像必须以png/jpeg格式存储