---
title: "Hämta Id"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/175249-hämta-id"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2008-11-09T19:35:20.000Z"
updated: "2008-11-09T19:35:20.000Z"
replies: 0
views: 321
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/asp/175249-hämta-id"
---

# Hämta Id

## #1 — devotion, 2008-11-09T19:35Z

Hej, 

Jag hämtar ut information från en textfil  i en loop.

Jag kan få ut en prislistas nummer från filen, men jag behöver Id för att kunna göra min INSERT.

Jag vill helst inte göra en massa SQL-anrop i loopen i onödan, då det rör sig en ansenlig mängd poster i textfilen.

Hur skulle man kunna lösa detta?''

SQL-frågan för att hämta Id mha nummer ser ut så här:

```
...

iPriceListNr = cInt(m(0).submatches(0)) 'grossistkod

SELECT [Id] FROM tblPriceList WHERE [Nr] = '" & iPriceListNr

...
```

Skulle man kunna hämta ut alla Id:na, och sen göra en funktion där uppslaget görs, eller nått?

 :) 

Här kommer hela koden:

```
¨do while not oFile.atendofstream
		
		'Läsa textraden
		sline = oFile.readline
	 
	 	if left(sLine, 1) = "1" then

			r.pattern = "^\d(\d{8})(.{25})(\d{8})"
			set m = r.execute(sLine)
			if m.count > 0 then
				lArtId=GetNextId("tblArticle")
				sArtNr = m(0).submatches(0)
				sArtName = SQLSafe(trim(m(0).submatches(1)))
				dPriceDate = m(0).submatches(2)
				
				sSQL= "INSERT INTO tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Custom1])" _
					& " VALUES (" & lArtId & ", 0, GETDATE(), '"& sArtNr &"', '"& sArtName &"', '" & dPriceDate & "')"
				oConn.Execute sSQL,,128
			Else
				'sErrorArticle = sErrorArticle + sLine
			End If
		 elseif left(sLine, 1) = "2" then

			r.pattern = "^\d(\d{2})(\d{8})([\+\- \?])([^\s]+)"
			set m = r.execute(sLine)
			if m.count > 0 then
			
				lPriceId=GetNextId("tblPrice")
				iPriceListNr = cInt(m(0).submatches(0)) 'grossistkod
				iSupplierPrice = cdbl(m(0).submatches(1)) 'grossistpris
				'sStatus = m(0).submatches(2) 'status
				sDiscountCode = m(0).submatches(3) 'rabattkod
				
				sSQL= "INSERT INTO tblPrice ([Id], [Modified], [PriceListId], [ItemType], [ItemId], [Price], [DiscountCode])" _
					& " VALUES (" & lPriceId & ",GETDATE(), " & iPriceListNr & ", 4, " & lArtId & ", " & iSupplierPrice & ", '" & sDiscountCode & "')"
				oConn.execute sSQL,,128
			Else
				'sErrorPrice = sErrorPrice + sLine
			End If
		 end if
	loop
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/175249-hämta-id
