Cita:
Iniciado por moNTeZIon 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 originalDim miConn as New SqlConnection(tuCadenaDeConexion)
dim dA As New SqlDataAdapter("SELECT Codigo, Nombre FROM Clientes WHERE Pais = 'Catalunya'", miConn)
Dim dS as New DataSet
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