---
title: "DAL och SP"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/123362-dal-och-sp"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "MagnusJ"
published: "2005-02-27T19:18:03.000Z"
updated: "2005-02-27T23:25:33.000Z"
replies: 2
views: 372
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/123362-dal-och-sp"
---

# DAL och SP

## #1 — MagnusJ, 2005-02-27T19:18Z

Jag sökte lite information om SQL server och SP och då hittade jag den här tråden: 
<http://www.webforum.nu/showthread.php?s=&forumid=191&threadid=111557>

Jag håller nu på bygga på en mindre DAL eller vad man ska kalla det. Och jag har några funderingar. 

```
		//Settings
		//===============================
		public static string myConnString = ConfigurationSettings.AppSettings["ConnString"];
		public static SqlConnection objConnection = CreateConnection();

		private static SqlConnection CreateConnection() 
		{
			SqlConnection myConnection = new SqlConnection(myConnString);
			return myConnection;
		}

		private SqlCommand BuildCommand(string StoredProcName, IDataParameter[] Parameters) 
		{
			SqlCommand myCommand = new SqlCommand(StoredProcName, Parameters, objConnection);
			return myCommand;
		}

		protected int InsSqlQuery(string StoredProcName, IDataParameter[] Parameters)
		{			
			try
			{	
				objConnection.Open();
				SqlCommand Command = BuildCommand(StoredProcName,Parameters);
				Command.Parameters.Add(new SqlParameter("SCOPE_IDENTITY()", SqlDbType.Int, 4, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null));
				Command.ExecuteNonQuery();
				return ((int)Command.Parameters["SCOPE_IDENTITY()"].Value);
			}
			finally
			{
				objConnection.Close();
			}
		}
```

Jag undrar över hur man ska göra BuildCommand för att få det att fungera. 

Sedan undrar jag om det finns någon artikel eller om nån stored procedure, lite grundläggande sådär. Som förklarar om hur man ska bygga upp dem.  

```
ALTER PROCEDURE webdns.sp_AddProfile
	@belongsto int,
	@name nvarchar(30),
    @identity int output
AS
		INSERT INTO Profiles ([Name],BelongsTo) VALUES(@name,@belongsto)
		Set @identity = @@identity
```

webdns vad är det namnet på?

Permalänk: https://www.webforum.nu/p/123362

## #2 — erka, 2005-02-27T22:20Z

Här har du en rätt ok artikeln om dal & sp

<http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=3>

SPs, vad vill du veta :) De har ett returvärde, kan ha input och outputparametrar. Du skriver dem i t-sql, som är proceduerellt (hur det nu stavas).

I fallet ovan är webdns namnet på databasanvändaren som är ägaren/skaparen av spn

Permalänk: https://www.webforum.nu/p/1563657

## #3 — MagnusJ, 2005-02-27T23:25Z

Jag undrar lite över om hur man skriver dem :) Som du nämner att man skriver dem i t-sql, vet du någon artikel som beskriver lite hur man ska skriva de olika kommadona? :)

Sedan är det ju det här problemet :)

```
		private SqlCommand BuildCommand(string StoredProcName, IDataParameter[] Parameters) 
		{
			SqlCommand myCommand = new SqlCommand(StoredProcName, Parameters, objConnection);
			return myCommand;
		}
```

Får dom här felmeddelandena 

Argument '2': cannot convert from 'System.Data.IDataParameter\[\]' to 'System.Data.SqlClient.SqlConnection'

Argument '3': cannot convert from 'System.Data.SqlClient.SqlConnection' to 'System.Data.SqlClient.SqlTransaction'

The best overloaded method match for 'System.Data.SqlClient.SqlCommand.SqlCommand(string, System.Data.SqlClient.SqlConnection, System.Data.SqlClient.SqlTransaction)' has some invalid arguments

Permalänk: https://www.webforum.nu/p/1563671

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/123362-dal-och-sp
