@Hartigan
Bueno, habra que ver ese proyecto
lo estare esperando
Que proyecto?
escribi que subiria un
ejemplo de un proyecto que hice ...
Mas clarito, sacaria un
ejemplo de ese proyecto para mostrarlo
Saque muchas cosas que no iban al caso para lo que muestro:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Sql_Imagenes
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con
= new SqlConnection
(@"Data Source=.\SQLEXPRESS;Initial Catalog=bdprueba;Integrated Security=SSPI"); SqlDataAdapter dta
= new SqlDataAdapter
("Select Id,nombre,imagen From tprueba", con
); SqlCommandBuilder mycb
= new SqlCommandBuilder
(dta
); DataSet dts
= new DataSet
("tprueba"); dta.InsertCommand = mycb.GetInsertCommand();
dta.MissingSchemaAction = MissingSchemaAction.AddWithKey;
System.IO.Stream strImg
= new System.IO.MemoryStream(); this.pictureBox1.Image.Save(strImg, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bImagen
= new byte[strImg
.Length]; strImg.Position = 0;
strImg.Read(bImagen, 0, System.Convert.ToInt32(strImg.Length));
strImg.Close();
dta.Fill(dts, "tprueba");
DataRow myRow;
myRow = dts.Tables["tprueba"].NewRow();
myRow["nombre"] = textBox1.Text.Trim();
myRow["imagen"] = bImagen;
dts.Tables["tprueba"].Rows.Add(myRow);
dta.Update(dts, "tprueba");
con.Close();
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection con
= new SqlConnection
(@"Data Source=.\SQLEXPRESS;Initial Catalog=bdprueba;Integrated Security=SSPI"); SqlDataAdapter dta
= new SqlDataAdapter
("Select Id,nombre,imagen From tprueba WHERE nombre ='" + textBox1
.Text + "'", con
); SqlCommandBuilder mycb
= new SqlCommandBuilder
(dta
); DataSet dts
= new DataSet
("tprueba");
dta.MissingSchemaAction = MissingSchemaAction.AddWithKey;
dta.Fill(dts, "tprueba");
DataRow myRow;
try
{
myRow = dts.Tables["tprueba"].Rows[0];
byte[] MyData
= new byte[0]; MyData = (byte[])myRow["imagen"];
int ArraySize
= new int(); ArraySize = MyData.GetUpperBound(0);
System.IO.Stream derec
= new System.IO.MemoryStream(); derec.Write(MyData, 0, MyData.Length);
textBox1.Text = myRow["nombre"].ToString();
pictureBox1.Image = Image.FromStream(derec);
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
con.Close();
}
}
}
Yo lo use de este modo porque me parecia mas legible y otras cosas mas que ya no recuerdo.
La BD:
no entiendo tu punto del byte
Al quitar las comillas simples intentaba guardar un System.Byte[] como si fuera un byte y no como si fuera un texto (lo cual el VS y bla bla bla), mejor prueba lo que te digo...
yo queria guardar como texto PURO los mismisimos bytes No con conmillas....
Luego tu saltaste a decir una gran ovbiedad: que no se puede guardar texto sin comillas
Je je, ya no te entiendo, mejor pon en orden tus ideas.
Si se me fue alguna variable demas o quien sabe favor avisar, la culpa es de @raul338 me hace cansar la vista con sus comentarios