Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/12/2010, 14:16
mesenier
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 5 meses
Puntos: 1
¿Como insertar datos en base de datos sql con visual basic?

Hola ¿Como insertar datos en base de datos sql en un servidor remoto con visual basic?

yo por el momento hago lo siguiente, y funciona a la perfeccion pero ess un jaleo... si alguien sabe un modo mejor...

Crear un archivo .php
Cita:
Dim rtb1
Dim rtb2
rtb1 = "<?" & Chr(13) & "mysql_connect(" & Chr(34) & "localhost" & Chr(34) & "," & Chr(34) & "user" & Chr(34) & "," & Chr(34) & "pass" & Chr(34) & ");" & Chr(13) & "mysql_select_db(" & Chr(34) & "db" & Chr(34) & ");" & Chr(13) & "$query = 'INSERT INTO main ( tmax, tmin, vwind, dwind, rain, presion, hum, lmoon, smoon, pmoon, ssun, psun, date, time, place, skystate, snow )" & Chr(13) & "VALUES (" & Chr(34) & tmax & Chr(34) & "," & Chr(34) & tmin & Chr(34) & "," & Chr(34) & vviento & Chr(34) & "," & Chr(34) & dviento & Chr(34) & "," & Chr(34) & nprecip & Chr(34) & "," & Chr(34) & Presion & Chr(34) & "," & Chr(34) & humedad & Chr(34) & "," & Chr(34) & ilumluna & Chr(34) & "," & Chr(34) & salidaluna & Chr(34) & "," & Chr(34) & puestaluna & Chr(34) & "," & Chr(34) & salidasol & Chr(34) & ","
rtb2 = Chr(34) & puestasol & Chr(34) & "," & Chr(34) & data & Chr(34) & "," & Chr(34) & ordua & Chr(34) & "," & Chr(34) & lugar & Chr(34) & "," & Chr(34) & skys & Chr(34) & "," & Chr(34) & snow & Chr(34) & ")';" & Chr(13) & "mysql_query($query) or die(mysql_error());" & Chr(13) & "mysql_close" & "();" & Chr(13) & "?>"
RichTextBox2 = rtb1 + rtb2
que seria algo asi
Cita:
<?
mysql_connect("localhost","user","pass");
mysql_select_db("db");
$query = 'INSERT INTO main ( tmax, tmin, vwind, dwind, rain, presion, hum, lmoon, smoon, pmoon, ssun, psun, date, time, place, skystate, snow )
VALUES ("10","2","32","var","0.3","1015.5","68,5","1.9%", "8:08h.","17:26h.","08:26h.","17:35h.","04-12-2010","21:10:58"," Abinako Ander Deunaren Vizcaya ","Cielos Nubosos","600")';
mysql_query($query) or die(mysql_error());
mysql_close();
?>

2. tras guardarlo, lo subo mediante el siguiente metodo






Cita:

Site = "host"
Username = "user"
Password = "pass"
Localfile = App.Path & "\ruta\" & "temp.php"
Remotefile = "public_html/ruta/" & "temp.php"
Commun(0).Reply = "220"
Commun(0).BackCommand = "USER " + Username
Commun(1).Reply = "331"
Commun(1).BackCommand = "PASS " + Password
Commun(2).Reply = "230"
Commun(2).BackCommand = "TYPE I"
Commun(3).Reply = "200"
Commun(3).BackCommand = "PORT"
Commun(4).Reply = "200"
Commun(4).BackCommand = "STOR " + Remotefile
Commun(5).Reply = ""
Commun(5).BackCommand = ""
Buffersize = 2920
Dim Nr1 As Integer
Dim Nr2 As Integer
Dim LocalIP As String
LocalIP = Winsock1.LocalIP


Do Until InStr(LocalIP, ".") = 0
LocalIP = Left(LocalIP, InStr(LocalIP, ".") - 1) + "," + Right(LocalIP, Len(LocalIP) - InStr(LocalIP, "."))
Loop
Randomize Timer
Nr1 = Int(Rnd * 12) + 5
Nr2 = Int(Rnd * 254) + 1
Commun(3).BackCommand = "PORT " + LocalIP + "," + Trim(Str(Nr1)) + "," + Trim(Str(Nr2))
Winsock2.Close


Do Until Winsock2.State = 0


DoEvents
Loop
Winsock2.LocalPort = (Nr1 * 256) + Nr2
Winsock2.Listen
Winsock1.Close


Do Until Winsock1.State = 0


DoEvents
Loop
Winsock1.RemoteHost = Site
Winsock1.RemotePort = 21
Winsock1.Connect
CommunState = 0


Do Until Winsock1.State = 7 Or Winsock1.State = 9


DoEvents
Loop


Select Case Winsock1.State
Case 9
MsgBox "Couldn't reach server " + Site + ".", vbOKOnly + vbInformation, "FTP Upper"
Case 7
Open Localfile For Binary As #1
End Select
3.- Y finalmente lo ejecuto con el explorador de internet predeterminado
Cita:
ShellExecute hwnd, "open", "ruta del archivo", vbNullString, vbNullString, conSwNormal
y todo va bien, pero para hacer esto debe haber una forma mas sencilla de hacerlo, ¿alguien me puede ayudar?