Anda di halaman 1dari 4

private void btnCargarImagen_Click(object sender, EventArgs e)

{
openFileDialog1.ShowDialog();
PictureBoxParaGuardar.ImageLocation = openFileDialog1.FileName;
//Este codigo nos permite buscar una imagen en el disco duro y
asiganarla al picturebox
}

private void guardar_Click(object sender, EventArgs e)


{
int m_codigo = Convert.ToInt32(txtCodigoGuardar.Text);
MemoryStream m_MemoryStream = new MemoryStream();
PictureBoxParaGuardar.Image.Save(m_MemoryStream,
System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] m_imagen = m_MemoryStream.ToArray();
//Como ven lo que realmente enviamos a la tabla es un arreglo de
byte :-)
//y podemos decir que estas tres lineas anteriores son lo complicado de
la tarea.

SqlConnection m_SqlConnection = new


SqlConnection("Server=.;database=DemoGuardarImagen;integrated security=true");
SqlCommand m_SqlCommand = new SqlCommand("insert into producto
(codigo,foto) values(@Cod,@Fot)", m_SqlConnection);
m_SqlCommand.Parameters.AddWithValue("@Cod", m_codigo);
m_SqlCommand.Parameters.AddWithValue("@Fot", m_imagen);

m_SqlConnection.Open();
m_SqlCommand.ExecuteNonQuery();
}

private void buscar_Click(object sender, EventArgs e)


{
int m_codigo = Convert.ToInt32(txtCodigoBuscar.Text);
byte[] m_imagen = new byte[0];

SqlConnection m_SqlConnection = new


SqlConnection("Server=.;database=DemoGuardarImagen;integrated security=true");
SqlCommand m_SqlCommand = new SqlCommand ("select foto from producto
where codigo=@Cod", m_SqlConnection);
m_SqlCommand.Parameters.AddWithValue("@Cod", m_codigo);
SqlDataAdapter m_SqlDataAdapter = new SqlDataAdapter(m_SqlCommand);

DataSet ds = new DataSet();


m_SqlDataAdapter.Fill(ds, "Producto");

//Aqui simplemente revertimos la conversion que realizamos a guardar


m_imagen = (byte[]) ds.Tables["Producto"].Rows[0]["foto"];
MemoryStream m_MemoryStream = new MemoryStream(m_imagen);
PictureBoxParaMostrar.Image = Image.FromStream(m_MemoryStream);
}

ublic Form2()
{
InitializeComponent();

this.IsMdiContainer = true;

// Create a MenuStrip control with a new window.


MenuStrip ms = new MenuStrip();

// Recuperando las diferentes menus


SqlConnection conexion = new
SqlConnection(ConexionDB.StrConexionDataServer);
SqlConnection conexion2 = new
SqlConnection(ConexionDB.StrConexionDataServer);

conexion.Open();

string cStrSql = "SELECT IdMenu,Descripcion FROM Menus WHERE


IdMenuSuperior=0";
SqlCommand cmdSqlMenu = new SqlCommand(cStrSql, conexion);
SqlDataReader drMenu = cmdSqlMenu.ExecuteReader();

while (drMenu.Read())
{
string sMenuPrincipal = drMenu["Descripcion"].ToString();
string sIdMenu = drMenu["IdMenu"].ToString();

conexion2.Open();
cStrSql = "SELECT IdMenu,Descripcion,IdMenuSuperior,Comando FROM
Menus WHERE IdMenuSuperior =" + sIdMenu + " ORDER BY IdMenu";
SqlCommand cmdSqlSubMenu = new SqlCommand(cStrSql, conexion2);
SqlDataReader drSubMenu = cmdSqlSubMenu.ExecuteReader();
ToolStripMenuItem windowMenu = new
ToolStripMenuItem(sMenuPrincipal);

while (drSubMenu.Read())
{
string xTitulo = drSubMenu["Descripcion"].ToString();
string xAcccion = drSubMenu["Comando"].ToString();

ToolStripMenuItem windowNewMenu = new


ToolStripMenuItem(xTitulo, null, new EventHandler(windowNewMenu_Click));
windowMenu.DropDownItems.Add(windowNewMenu);
((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowImageMargin
= false;
((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowCheckMargin
= true;

ms.MdiWindowListItem = windowMenu;

ms.Items.Add(windowMenu);

ms.Dock = DockStyle.Top;

this.MainMenuStrip = ms;

this.Controls.Add(ms);

}
conexion2.Close();
}
conexion.Close();

///---------------------------------------

}
private void windowNewMenu_Click(object sender, EventArgs e)
{
Form f = new Form();
f.MdiParent = this;
f.Text = "Form " + this.MdiChildren.Length.ToString();
f.Show();
}

Private Sub CargarMenu()


dim dt as datatable = Funcion para obtener los datos
'recorremos el datatable para agregar los elementos que estaran en la
cabecera del men.
For Each drMenuItem As Data.DataRow In dt.Rows
'esta condicion indica q son elementos padre.
If drMenuItem("idpadre") = 0 Then
Dim mnuMenuItem As New MenuItem
mnuMenuItem.Value = drMenuItem("idmenu").ToString
mnuMenuItem.Text = drMenuItem("descripcion").ToString
'mnuMenuItem.ImageUrl = drMenuItem("icono").ToString por si lo
queremos utilizar
mnuMenuItem.NavigateUrl = drMenuItem("url").ToString

'agregamos el tem al men


menu.Items.Add(mnuMenuItem)
'hacemos un llamado al metodo recursivo encargado de generar el
rbol del men.
AdicionarMenuItem(mnuMenuItem, dt)
End If
Next
End Sub
Private Sub AdicionarMenuItem(ByRef mnuMenuItem As MenuItem, ByVal dtMenuItems
As Data.DataTable)
'recorremos cada elemento del datatable para poder determinar cuales son
elementos hijos
'del menuitem dado pasado como parametro ByRef.
For Each drMenuItem As Data.DataRow In dtMenuItems.Rows
If drMenuItem("idpadre").ToString.Equals(mnuMenuItem.Value) AndAlso _
Not drMenuItem("idmenu").Equals(drMenuItem("idpadre")) Then
Dim mnuNewMenuItem As New MenuItem
mnuNewMenuItem.Value = drMenuItem("idmenu").ToString
mnuNewMenuItem.Text = drMenuItem("descripcion").ToString
'mnuNewMenuItem.ImageUrl = drMenuItem("icono").ToString por si lo
utilizamos
mnuNewMenuItem.NavigateUrl = drMenuItem("url").ToString

'Agregamos el Nuevo MenuItem al MenuItem que viene de un nivel


superior.
mnuMenuItem.ChildItems.Add(mnuNewMenuItem)

'llamada recursiva para ver si el nuevo men tem aun tiene


elementos hijos.
AdicionarMenuItem(mnuNewMenuItem, dtMenuItems)
End If
Next
End Sub

Anda mungkin juga menyukai