2013-08-02 2 views
0

У меня возникли проблемы с преобразованием моего запроса PHP SQL в Vb.Net.Преобразование PHP SQL в VB.Net

Это мой PHP код:

<?php 
$ServerName = "Farbod-PC\SQLExpress"; 
$User = "sa"; 
$Pass = "admin123"; 
$DB = "Account"; 

$user = sql_clean($_GET['Username']); 
$passhash = sql_clean($_GET['Password']); 

$connectionInfo = array("UID"=>$User,"PWD"=>$Pass,"DATABASE"=>$DB); 
$conn = sqlsrv_connect($ServerName, $connectionInfo) or die('Database connect Fail.'); 


if($conn) { 
} else { 
    echo " <br> Connection could not be established. <br> <br>"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

$exec = sqlsrv_query($conn, "SELECT nEMID, nAuthID, sUserPass FROM tAccounts where sUsername = '$user'"); 
$AccountData = sqlsrv_fetch_array($exec); 
$file = file('LauncherInfo.txt', FILE_IGNORE_NEW_LINES); 

$sql = "SELECT nEMID, nAuthID, sUserPass FROM tAccounts where sUsername = '$user'"; 
$params = array(); 
$options = array("Scrollable" => SQLSRV_CURSOR_KEYSET); 
$stmt = sqlsrv_query($conn, $sql , $params, $options); 

$row_count = sqlsrv_num_rows($stmt); 

    foreach ($file as $line) { 
     $line = trim($line); 
     if ($line) { 
      $splitLine = explode(' = ',$line); 
      $data[$splitLine[0]] = $splitLine[1]; 
     } 
    } 

    if($exec) 

{ 
    if($row_count != 1) 
    { 
     die('wud'); 
    } 

    if ($AccountData ['nAuthID'] == -2) { 
     die ('INV'); 
    } else if ($AccountData ['nAuthID'] == -1) { 
     die ('BAN'); 
    } else if ($AccountData ['nAuthID'] == 0) { 
     die ('EVR'); 
    } else if ($AccountData ['nAuthID'] == 1) { 
     if ($data['MAINT'] == "True") { 
     die ('MM'); 
     } 
    } else if ($AccountData ['nAuthID'] == 2) { 
     //Continue and allow user to log in. 
    } else { 
     die ('NAUTH'); 
    } 

    $PlaintxtPass = $AccountData['sUserPass']; 
    $PlaintxtnEMID = $AccountData['nEMID']; 
    if (MD5($PlaintxtPass) == $passhash) 
    { 
     $Token = RandomToken(35); 

     $setToken = null; 

     if (sqlsrv_num_rows(sqlsrv_query($conn, "SELECT * FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'")) >= 1) 
     { 
      sqlsrv_query($conn, "DELETE FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'"); 
      $setToken = sqlsrv_query($conn, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')"); 
     } 
     else 
      $setToken = sqlsrv_query($conn, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");  

     if ($setToken) 
      die('OK#'.$Token.'#'.$AccountData ['nAuthID']); 
     else 
      die('SetToken Error'); 
    } 
    else 
    { 
     die('wud'); 
    } 
} 
else 
{ 
    die('Query Failed'); 
} 

sqlsrv_close(); 

function sql_clean($str) 
{ 
    $search = array("\\", "\0", "\n", "\r", "\x1a", "'", '"'); 
    $replace = array("", "", "", "", "", "", ""); 
    return str_replace($search, $replace, $str); 
} 

function RandomToken($length) 
{ 
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
     $str = ""; 
    $size = strlen($chars); 
    for($i = 0; $i < $length; $i++) { 
     $str .= $chars[ rand(0, $size - 1) ]; 
    } 

    return $str; 
} 
?> 

Это мой Vb.net код до сих пор:

Imports System.Net 
Imports System.Data.SqlClient 

Public Class Form1 

    Dim SQLHost As String = "Farbod-PC\SQLEXPRESS" 
    Dim SQLUserName As String = "sa" 
    Dim SQLPassword As String = "admin123" 
    Dim Server As String = "Account" 

    Dim conn As SqlConnection = New SqlConnection("Data Source=" & SQLHost & "; Initial Catalog=" & Server & "; User ID=" & SQLUserName & "; Password=" & SQLPassword & ";") 

    Dim strSQL As String 

    Dim exec As String = "SELECT nEMID, nAuthID, sUserPass FROM tAccounts where sUsername = 'user'" 

End Class 

Я не уверен, каким образом я должен идти об этом. Буду признателен, если кто-нибудь сможет помочь. Благодарю.

+0

Ну, вы должны объяснить *, что это проблема? – AlexP

+0

Как я могу выполнить запросы в Vb? –

ответ

0

Farbod, Кажется, что вы задаете довольно расплывчатый и широкий вопрос здесь. StackOverflow отлично подходит, если вам нужна помощь с конкретными проблемами, но кажется, что вам действительно нужны некоторые учебники VB.NET.

Хотя я бы сказал, что это так; Хранимые процедуры - ваши друзья.

+0

Да, я понял это сейчас. Благодарю за ваш ответ. –

Смежные вопросы