webForumDet fria alternativet

DAL & Stored Procedures

.NET

17 svar · 508 visningar · startad av pellesvenne

Medlem sedan jan. 2002227 inlägg
Frågan#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)
Medlem 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"

Medlem sedan apr. 2004778 inlägg
#3

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

Medlem 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

Medlem sedan jan. 2002227 inlägg
Medlem 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

Medlem 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?

Medlem 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

Medlem 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.

Medlem sedan jan. 2002227 inlägg
#10

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

Medlem 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.

Medlem sedan jan. 2002227 inlägg
#12

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

Medlem sedan jan. 2002227 inlägg
#13

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

Imports daab.SqlHelper

Medlem 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.

Medlem sedan jan. 2002227 inlägg
#15

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

Medlem 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?

Medlem 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.

Medlem 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!

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)