webForumDet fria alternativet

DAL & Stored Procedures

17 svar · 508 visningar · startad av pellesvenne

pellesvenneMedlem sedan jan. 2002227 inlägg
#1

hejsan jag håller på med en DAL komponent och jag vet inte om man kan skriva om paramenterarna på ett bättre sätt och utan att importera sqlclient? hoppas nån kan hjälpa mig!

Imports System.Data.SqlClient

Namespace MyDalApp

    Public Class UniversalDAL
        Public Function GetData(ByVal stored As String, ByVal con As IDbConnection, ByVal input As Integer, ByVal output As Integer)
            Dim cmd As New SqlCommand(stored, con)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("@anvandarnamn", SqlDbType.VarChar, 15).Value = "pelle"
            cmd.Parameters.Add("@losenord", SqlDbType.VarChar, 15).Value = ""

            Dim param As SqlParameter = cmd.Parameters.Add("@inloggad", SqlDbType.Int)
            param.Direction = ParameterDirection.Output
            Dim inloggad As Integer = param.Value

            Try
                con.Open()
            Catch
            End Try

            Return cmd.ExecuteReader()
        End Function

    End Class

End Namespace

såhär anropar jag det:

uDal.GetData("medlemmar_login", oledbCon, 0, 0)
erkaMedlem sedan dec. 19996 522 inlägg
#2

Det blir väll inte särskillt skalbart, ponera att du ska ha fler metoder som hämtar ut något. Kolla vad som frekvent återkommer och dela upp det i fler metoder med egna/självklara ansvarsområden. Tex en som skapar sqlParemeters(in), en som skapar SQLCommand, en som skapar sqlParameters(out) etc. Du kan tex ta in en collection med sqlParameters.

Sen förstår jag inte varför du har
uDal.GetData("medlemmar_login", oledbCon, 0, 0)

ska du bara kunna hämta ut en medlem? I ditt fall "Pelle"

PDahlenMedlem sedan apr. 2004778 inlägg
#3

Rekommenderar att du använder Microsoft Data Access Block istället.
Varför uppfinna hjulet igen. ;)

pellesvenneMedlem sedan jan. 2002227 inlägg
#4

erka strunta i in och out paramtentrarna där skulle jag fixa in en array list och loopa igenom i själva subben i dalen!

Phdalen:
så jag håller på och gör en grej som redan finns som komponent? hehe

pellesvenneMedlem sedan jan. 2002227 inlägg
PDahlenMedlem sedan apr. 2004778 inlägg
#6

Kolla så att det är version 2 du laddar ner.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp

pellesvenneMedlem sedan jan. 2002227 inlägg
#7

version 2 funkar inte för mig? hittar ingen dll fil i mappen? och kan ej öppna vs.net projektet?

PDahlenMedlem sedan apr. 2004778 inlägg
#8

Om du har ett vs.net projekt så får du:
1. Lägga till DAAB projektet i din solution
2. Skapa en referens till DAAB projektet i ditt projekt
3. Kompilera

VimpMedlem sedan juli 20022 537 inlägg
#9

pellesvenne skrev:

version 2 funkar inte för mig? hittar ingen dll fil i mappen? och kan ej öppna vs.net projektet?

Version 2 fungerar endast med VS.NET 2003 och senare.

pellesvenneMedlem sedan jan. 2002227 inlägg
#10

jag får massor med fel meddelanden när jag kompilerar den?

VimpMedlem sedan juli 20022 537 inlägg
#11

pellesvenne skrev:

jag får massor med fel meddelanden när jag kompilerar den?

Vilken version av VS.NET kör du med?
Är det 2002 så måste du ha version 1 av DAAB.

pellesvenneMedlem sedan jan. 2002227 inlägg
#12

2002 kör jag vad är det för skillnad mellan version 1 och 2?

pellesvenneMedlem sedan jan. 2002227 inlägg
#13

det gick ju och kompilera la dit i sqlhelper.vb???

Imports daab.SqlHelper

VimpMedlem sedan juli 20022 537 inlägg
#14

Jag skulle tro att v. 2 utnyttjar olika funktioner som finns i .NET Framework 1.1.
Eftersom du har 2002 så måste du som sagt köra med v. 1.

pellesvenneMedlem sedan jan. 2002227 inlägg
#15

eller nej det gick inte och kompilera! men kan jag inte ladda ner nyare framework?

pellesvenneMedlem sedan jan. 2002227 inlägg
#16

jag la in
Imports System.Data.SqlClient
Imports System.Xml i sqlhelper.vb

och i assemblyn
Imports System.Reflection
Imports System.Runtime.InteropServices

då funkade det?

VimpMedlem sedan juli 20022 537 inlägg
#17

pellesvenne skrev:

jag la in
Imports System.Data.SqlClient
Imports System.Xml i sqlhelper.vb

och i assemblyn
Imports System.Reflection
Imports System.Runtime.InteropServices

då funkade det?

Så bra då.
Sätt gärna tråden som löst.

pellesvenneMedlem sedan jan. 2002227 inlägg
#18

eller går och lösa på ett bättre sätt!
installera v1 och sedan kopierar du över innehållet från version 2 till version 1 och kompilerar!

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)