Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/02/2011, 10:33
elpaisa
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: como puedo enviar una vista de vb.net a sql

Cita:
Iniciado por moNTeZIon Ver Mensaje
Las Vistas y Procedimientos Almacenados son "propiedades" de los sistemas gestores de bases de datos (como SQL Server, Oracle, MySQL...) y no de los lenguages de programación (VB, C#, Java...).
Por lo tanto, no puedes tener una vista o procedimiento almacenado "metido en el código".
Lo que puedes hacer es lanzar una consulta SQL desde tu aplicación, en vez de tenerla guardada en un procedimiento almacenado o una vista en la base de datos.
Para ello, sería algo así:
Código VB.NET:
Ver original
  1. Dim miConn as New SqlConnection(tuCadenaDeConexion)
  2. dim dA As New SqlDataAdapter("SELECT Codigo, Nombre FROM Clientes WHERE Pais = 'Catalunya'", miConn)
  3. Dim dS as New DataSet
  4. dA.Fill(dS, "ClientesCatalanes")
En este momento tendrías un DataSet con los registros obtenidos de la base de datos, pero la consulta SQL la lanzas desde tu código, y de esta forma no está escrita en la base de datos.
Espero que fuera lo que necesitabas.
Saludos.
te agradezco tu ayuda en verdad muchas gracias pero lo solucione por mi cuenta aca paso el codigo mio para que si alguien tiene otro problema similar pues espero le ayude

no solamente hace vistas sino procedimientos alamcenados,bases de datos,tablas,desencadenadores(triggers) etc tiene que meter lo que quieran hacer en el objeto OBJ y listo

Private Sub btnejecutar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnejecutar.Click
Dim cnn As New SqlConnection

cnn.ConnectionString = "data source= " & txtservidor.Text & ";" & "database= " & txtbasededatos.Text & ";" & " user= " & txtusuario.Text & ";" & " Password= " & txtcontraseña.Text
Dim obj As String
obj = "create VIEW GS_TransaccionesTerceros With ENCRYPTION AS SELECT max(C05TransThird.ID_Third) AS [Identificacion], max(C05Thirds.Descrip) AS Nombre, max(C05TransThird.ID_Account) AS Cuenta, max(C05Account.Descrip) AS Concepto, C05TransThird.siPeriod AS Periodo, ABS (sum(C05TransThird.TaxBase*C05TransThird.Cr)) AS [BaseGravable], ABS (Sum(C05TransThird.Amount*C05TransThird.Cr)) AS Cantidad FROM C05Account INNER JOIN C05TransThird ON C05Account.ID_Account = C05TransThird.ID_Account INNER JOIN C05Thirds ON C05TransThird.ID_Third = C05Thirds.ID_Third GROUP BY C05TransThird.ID_Third,C05Thirds.Descrip,C05TransT hird.ID_Account,C05Account.Descrip,C05TransThird.s iPeriod"

Dim cmd As New SqlCommand(obj, cnn)

Try

cnn.Open()
cmd.ExecuteNonQuery()
'
MsgBox("Base de datos creada correctamente")

Catch ex As Exception
MsgBox("error")
MessageBox.Show(ex.Message, _
"Error al crear la base", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally

If cnn.State = ConnectionState.Open Then
cnn.Close()
End If
End Try

End Sub