¿Cómo conectar ASP con BD de SQL Server 2000?

Hola que tal, estoy haciendo una página en prueba1.asp que contiene datos generales de POR persona (Nombre, Dirección, Teléfono, botón enviar, Etc...), me lleva a otra página prueba2.asp donde trato de conectarlos con una base de datos llamada DATOS en SQL Server 2000 y registrarlos en la tabla datos_grls. ¿Me puedes ayudar?
De un formulario
* Cómo debo de hacer (sintaxis) una cadena de conexión?
* Cómo lo pruebo o compruebo de que si se esta realizando el registro en SQL.
Ya está instalado el SQL. Pero no me queda la conexión, cada que según ya registré, verifico en sql con (select * from datos_grls) y me muestra los campos vacíos.
* Ayuda por favor.

1 respuesta

Respuesta
1
primero tines que importar algunas librerias
system.data
system.data.sqlclient
luego tienes que agregar la conection
dim oCn as new SqlConnection("Server=XXXX;DataBase=XXXXXX;Integrated Security=Yes")
y si quieres hacer un select
dim oDa as new SqlDataAdapter("Select * from XXXXX",oCn)
Dim oSet as new dataSet
Oda. Fill(oset,"NOMBREdeESTAconsulta")
Y con eso ya esta lleno el dataset
Puedes hacer
datagrid.datasource=oset.tables("NOMBREdeESTAconsulta")
datagrid.databinds
En esta páginas encuentras diferentes maneras de connectarte
<a href="http://www.connectionstrings.com/">http://www.connectionstrings.com</a>
OK... Perdón por la tardanza, dejame checar y yo le aviso como me fue!...
Sino le mando mim código y me dice que esta mal! Ok, saludos!.
Ok
Lo siento soy nuevo en esto pero realmente necesito saber:
Este es mi código de ventana1.asp
<html>
<head>
<meta http-equiv="Content-Language" content="es-mx">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Página 1</title>
</head>
<body>
<form method="POST" action="ventana2.asp">
<p>Numero: <input type="text" name="numero" size="20"></p>
<p>Nombre: <input type="text" name="nombre" size="20"></p>
<p>Apellidos: <input type="text" name="apellidos" size="20"></p>
<p>Inscripción: <input type="text" name="inscripcion" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"></p>
<p><input type="reset" value="Restablecer" name="B2"></p>
</form>
</body>
</html>
ventana2.asp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina2</title>
</head>
<body>
<%
system.data
system.data.sqlclient
Dim conexion
Dim numero
Dim nombre
Dim ape
Dim ins
numero = Request.Form("numero")
nombre = Request.Form("nombre")
ape = Request.Form("apellidos")
ins = Request.Form("inscripcion")
set conexion = Server.CreateObject("ADODB.Connection")
    conexion.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=crefinavi;Data Source=MICROSOF-D4B6D2"
    conexión.Open
conexion.execute("insert into prueba(num,nombre,apellidos,inscripcion)" & "values ('" & numero & "','" & nombre & "','" & ape & "'," & ins & ")")
conexion.Close
%>
</form>
datos enviados...
</body>
</html>
El punto es de la ventana1.asp mando cuatro campos que rescato con el Request en la ventana2.asp después lo que quiero hacer es guardar esos datos en sql server 2000. ¿Lo estoy haciendo bien?
Por que en sql escribo el comando select * from tprueba y me manda la tabla vacía
le di un insert into en sql y si me ingresa pero lo quiero desde asp
Ayuda por favor!
Try
        Dim oCmd as new SqlCommand
        Dim oCn as new SqlConnection("Data Source=ANGELA;Initial Catalog=Northwind;Integrated Security=True")
        ocmd.Connection =oCn
        oCmd.CommandType = CommandType.Text
        oCmd.CommandText ="Insert into Shippers (ShipperID, CompanyName, Phone)values(@ShipperID,  @CompanyName,  @Phone)
        oCmd.Parameters.Add("@ShipperID",SqlDbType.int)
        oCmd.Parameters(0).Value= pShipperID
        oCmd.Parameters.Add("@CompanyName",SqlDbType.nvarchar)
        oCmd.Parameters(1).Value= pCompanyName
        oCmd.Parameters.Add("@Phone",SqlDbType.nvarchar)
        oCmd.Parameters(2).Value= pPhone
        if oCn.State<>ConnectionState.Open then
            oCn.Open()
        End If
        oCmd.ExecuteNonQuery()
    Catch ex As Exception
        MsgBox(ex.Message,"Error")
    End Try
ese ejempo es con paremtros y este es lo mismo con concatenacion
Try
        Dim oCmd as new SqlCommand
        Dim oCn as new SqlConnection("Data Source=ANGELA;Initial Catalog=Northwind;Integrated Security=True")
        ocmd.Connection =oCn
        oCmd.CommandType = CommandType.Text
        oCmd.CommandText ="Insert into Shippers (ShipperID,CompanyName, ,Phone) values (" & pShipperID & ", '" & pCompanyName & "', '" & pPhone & "')"
        if oCn.State<>ConnectionState.Open then
            oCn.Open()
        End If
        oCmd.ExecuteNonQuery()
    Catch ex As Exception
        MsgBox(ex.Message,"Error")
    End Try
Hola que tal!
Primero te cuento que hice:
En el escritorio hice un archivo de texto en blanco el cual lo guarde con el nombre de cadena.udl y le di dobleclick y me abrió las propiedades donde elegí la conexión con el servidor y la base de datos, esto me origina la cadena de conexión.
Mira hice mi base y mi tabla y parece que conecta pero ahora tengo un error de apertura, es decir me marca un error en la linea de conexión.open
Mis códigos son los siguientes.
ventana1.asp
<%@ LANGUAGE = VBScript %>
<%  Option Explicit %>
<%  Response.Expires= -1 %>
<html>
<head>
<title>Página 1</title>
</head>
<body>
<form action="ventana2.asp" method="post">
Numero: <input type="text" name="numero" size="10"><br>
Nombre(s): <input type="text" name="nombre" size="20"><br>
Apellidos: <input type="text" name="ap" size="20"><br>
Pago: <input type="text" name="pago" size="10"><br>
<input type="submit" value="Confirmar"><br>
</form>
</body>
</html>
ventana2.asp
<%@ LANGUAGE = VBScript %>
<%  Option Explicit %>
<%  Response.Expires= -1 %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina2</title>
</head>
<body>
<%
dim conexion
dim vconsulta_insert
dim vnumero
dim vnombre
dim vapellidos
dim vpago
vnumero = request.form("numero")
vnombre = request.form("nombre")
vapellidos = request.form("ape")
vpago = request.form("pago")
vconsulta_insert = "insert into tprobar(numero,nombre,apellidos,pago) values (" & vnumero & ",'" & vnombre & "', '" & vapellidos & "'," & vpago & ")"
set conexion = Server.CreateObject("ADODB.Connection")
    conexion.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=siscrefinavi;Data Source=SISTEMAS;User Id=sa;password="
    Conexión.open
    conexion.execute(vconsulta_insert)
    conexión.close
%>
datos enviados...
</body>
</html>
la ventana del navegador IE me muestra este error.
Información técnica (para personal de soporte técnico)
Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E4D)
Error de inicio de sesión del usuario 'SISTEMAS\IUSR_MICROSOF-D4B6D2'.
/sistema/ventana2.asp, línea 27

Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Página:
POST 29 bytes to /sistema/ventana2.asp
Datos de POST:
numero=3&nombre=d&ap=e&pago=4
Hora:
Jueves, 17 de Septiembre de 2009, 04:07:31 p.m.
Más información:
Soporte técnico de Microsoft
Me puedes ayudar
if oCn.State<>ConnectionState.Open then
            oCn.Open()
        End If
        OCmd. ExecuteNonQuery()
Tienes que ver que tu cadena de conexión este abierte al momento de jecutar un command
Ok quedó, gracias por la ayuda!. Logre conectar y eh encontrado un manual de sql donde me voy a guiar para hacer las consultas, gracias de verdad! Cualquier cosa preguntare en otro apartado, gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas