Soyez le premier à donner votre avis sur cette source.
Snippet vu 18 304 fois - Téléchargée 36 fois
Imports System.Data Imports System.Data.SqlClient ' Debut du Module SQL Server --------------------------- Public Module ModuleBase Public SQL_Server As String = "nom du serveur SQL" Public SQL_Base As String = "nom de la base de donnees" Public req As String = "" Public Colonne As String Public mode As String Public table As String Public code As String Public valeur_Insert As String Public condition_Delete As String Public valid As String Public selection As String Public test As String ' Renvoie un Datareader à partir de la requête transmise. Public Function SQL_Reader(ByVal Req_SQL As String) As SqlDataReader Dim oConn As SqlConnection oConn = New SqlConnection() Try oConn.ConnectionString = "server=" & SQL_Server & ";database=" & SQL_Base & ";trusted_connection=true" 'Pour sauter la verification d'utilisateur oConn.Open() Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn) Dim monSQL_Reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) SQL_Reader = monSQL_Reader 'Lire infos tant qu'il y en a. Do While monSQL_Reader.Read() System.Console.WriteLine(monSQL_Reader("CODE").ToString()) System.Console.WriteLine(monSQL_Reader("NOM").ToString()) 'les retourner Loop Catch err As Exception MsgBox("Il y a eu une erreur de connection (SQL_Reader) : " + err.Message) Finally oConn.Close() oConn = Nothing End Try End Function ' Exécute directement la requête transmise sans renvoyer de résultat. Public Function SQL_Execute(ByVal Req_SQL As String) Dim oConn As SqlConnection oConn = New SqlConnection() Try oConn.ConnectionString = "server=" & SQL_Server & ";database=" & SQL_Base & ";trusted_connection=true" oConn.Open() Dim myCommand As SqlCommand = New SqlCommand(Req_SQL, oConn) myCommand.ExecuteNonQuery() MsgBox("Executée...\n") Catch err As Exception MsgBox("Il y a eu une erreur de connection (SQL_Execute) : " + err.Message) Finally oConn.Close() oConn = Nothing End Try End Function ' Teste si le champs envoyé est null et dans ce cas lui attribue la valeur de Base Public Function TestNull(ByVal Champs As Object, _ ByVal ValDefaut As Object) If IsDBNull(Champs) Then TestNull = ValDefaut Else TestNull = Champs End If End Function 'Fonction de requete générale : sélectionne la fonction à lancer selon le premier parametre qui est le mode (insert, delete) Public Function MyRequest(ByVal theMode As String, _ ByVal nomTable As String, _ ByVal CodeOuColonne As String, _ ByVal valeur As String) Select Case (theMode) Case "insert" MyInsert(nomTable, CodeOuColonne, valeur) Case "delete" MyDelete(nomTable, CodeOuColonne, valeur) End Select End Function 'Fonction d'insertion Public Function MyInsert(ByVal nomTable As String, _ ByVal theCode As String, _ ByVal theNom As String) Try req = "insert into " & nomTable & " values (" & theCode & ", " & theNom & ")" SQL_Execute(req) MsgBox("Try : Insertion effectuée...") Catch err As Exception MsgBox("Catch Insert: pas marché !") Finally MsgBox("Finally Insert") End Try End Function 'Fonction de suppression Public Function MyDelete(ByVal nomTable As String, _ ByVal nomColonne As String, _ ByVal valeur As String) Try req = "delete from " & nomTable & " where " & nomColonne & "=" & valeur & "" SQL_Execute(req) MsgBox("Try : delete OK effectuée...") Catch err As Exception MsgBox("Catch Delete: pas marché !") Finally MsgBox("Finally Delete") End Try End Function Public Function MySelect(ByVal nomTable As String, _ ByVal quoi As String, _ ByVal theColonne As String, _ ByVal test As String) req = "select " & quoi & " from " & nomTable If (theColonne <> "") Then req &= " where " & theColonne & "=" & test & "" End If Try SQL_Reader(req) Catch err As Exception MsgBox("Catch Select: " + err.Message) Finally End Try End Function Public Function sortir() As Boolean Console.WriteLine("Quitter ? Y/N : ") valid = Console.ReadLine valid = valid.ToUpper While (valid <> "Y") And (valid <> "N") Console.WriteLine("Invalid Character ! Y/N :") valid = Console.ReadLine valid = valid.ToUpper End While Select Case (valid) Case "Y" sortir = True Case "N" sortir = False End Select End Function Public Function MySelect() Console.WriteLine("Champs à afficher : ") selection = Console.ReadLine Console.WriteLine("Table ? : ") table = Console.ReadLine Console.WriteLine("Nom de colonne : ") Colonne = Console.ReadLine Console.WriteLine("Valeur de test : ") test = Console.ReadLine Try MySelect(table, selection, Colonne, test) Catch err As Exception MsgBox("Erreur dans le select : " + err.Message) Finally End Try End Function Public Function InsertOrDelete(ByVal mode As String) Console.WriteLine("Table ? : ") table = Console.ReadLine If (mode = "I") Then Console.WriteLine("Code ? :") code = Console.ReadLine code = code.ToUpper mode = "insert" Console.WriteLine("Valeur ? :") valeur_Insert = Console.ReadLine MyRequest(mode, table, code, valeur_Insert) Else mode = "delete" Console.WriteLine("Colonne de test ? : ") Colonne = Console.ReadLine Console.WriteLine("Condition ? : ") condition_Delete = Console.ReadLine MyRequest(mode, table, Colonne, condition_Delete) End If End Function Public Function reqManu() Console.WriteLine("texte de la requete ? :") req = Console.ReadLine Try SQL_Reader(req) Catch err As Exception MsgBox("Erreur de synthaxe sur la requete ... ") Finally End Try End Function Public Function menu() Console.WriteLine("Entrer le mode :") Console.WriteLine("s->Select, i->Insertion, d->Delete, m->req manu, q->quitter") mode = Console.ReadLine mode = mode.ToUpper End Function Public Function subMain() menu() Do Select Case (mode) Case "S" MySelect() Case "I", "D" InsertOrDelete(mode) Case "Q" If sortir() Then Exit Function Else Exit Select End If Case "M" reqManu() Case Else Console.WriteLine("Mode non valide ! ") End Select Console.WriteLine("") menu() Loop End Function End Module '------- Fin du Module SQL Server ---------------------------
Merci Bien;
Mettez ce code dans un vrai projet VB (.NET pour moi), n'oubliez pas d'ajouter les références SQL au projet, sinon le compilateur n'arrive pas à interpréter les lignes concernant les commandes SQL, et surtout, dès le début, les objets SQL ne sont pas reconnus.
Bonne prog.
Si tu as mis ce code dans un but pédagogique ... c'est raté !!!
Note : 2/10
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.