Avatar billede farouche Nybegynder
28. oktober 2000 - 13:38 Der er 17 kommentarer og
1 løsning

Til Tigerdyr

Hvor kan man læse om oprettelse og brug af variable i MS SQL ?
Avatar billede moa Nybegynder
28. oktober 2000 - 13:49 #1
Hej Farouche - du bør nok henvise til det spg., som du giver tigerdyr de her point for! - Så det ikke \"ophidser\" nogen af de sjæle der den seneste tid har drevet heksejagt på alt hvad der blot kunne minde lidt om snyd ;-)

mvh. Moa
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 13:56 #2
Tjaa...dette er jo i sig selv også et spørgsmål :o)

Et af de bedre steder er msdn.microsoft.com (men der er svært at finde rundt i alle deres data)
Personligt støtter jeg mig mest til mine bøger :o)
\"Professional SQL Server 7.0 Programming\" fra Wrox er klart en af de bedste bøger om SQL Server 7.0 generelt! (mange tekniske sider af den mv.)
Avatar billede farouche Nybegynder
28. oktober 2000 - 13:58 #3
Pointene er for spørgsmål :

30675
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 14:01 #4
Til nysgerrige sjæle, drejer det sig om:
http://www.eksperten.dk/spm/30675
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 14:04 #5
:o) bred enighed!
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 14:05 #6
prøv på msdn at søge på emner (under SQL Server) i stil med local variable, global variable, variable, declare osv.

Men generelt, @variabel = Lokal
@@variabel = Global
Avatar billede farouche Nybegynder
28. oktober 2000 - 14:36 #7
Lige et dumt spørgsmål

Hvordan får man @@Identity tilbage til Delphi ?

Normalt bruger man Fieldbyname(\'fieldname\').asEtellerandet

Det kan man jo ikke her
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 14:50 #8
SELECT @@IDENTITY

Er mit bedste bud (fra en det aldrig er lykkedes at kæde en DB sammen med Delphi)...
Avatar billede moa Nybegynder
28. oktober 2000 - 14:53 #9
Jeg sidder selv og arbejder med netop det du omtaler lige for tiden farouche - Så jeg prøver at finde ud af det når jeg kommer i nærheden af en DB på mandag! - Hvis du selv finder en løsning inden, gider du så ikke at poste svaret her?

/moa
Avatar billede farouche Nybegynder
28. oktober 2000 - 15:00 #10
Der er en nem løsning :

begin transaction tablock

insert into kundeordre values (100, 0, 50, 10000000, 20000000)

select distinct @@Identity from KundeOrdre

select KundeOrdreNr from kundeordre
where kunordnr = @@identity

commit

og så kan du lave en FieldByName(\'KundeOrdreNr\').asInteger.

Men det ville klart være federe om man kunne bruge identity direkte, da man så kan lave et generelt statement der fanger identity uden at vide hvilken tabel man har fat i.

Jeg har nemlig 9 tabeller, som alle har tilsvarende Identity Primary Keys.
Avatar billede moa Nybegynder
28. oktober 2000 - 15:05 #11
Umiddelbart vil jeg tro at den måske hedder:
fieldByName(\'@@Identity\').asInteger;
eller hvad med:
fieldByName(\'Identity\').asInteger;
Avatar billede farouche Nybegynder
28. oktober 2000 - 15:23 #12
Det kan man ikke da Identity ikke er et felt :o(

Avatar billede moa Nybegynder
28. oktober 2000 - 15:27 #13
Æv! - Har du en I-Sql i nærheden (altså et program til direkte sql-indtastninger). Hvis du prøver at køre din kode derfra plejer outputtet så vidt jeg husker at komme i følgende format:

KundeNr  KundeNavn  etc...
-------  ---------
7        Hans

Hvilket kolonnenavn får du ud når du kører din
select distinct @@Identity from KundeOrdre?

Dette kolonnenavn burde kunne anvendes i fieldByName?!
Avatar billede farouche Nybegynder
28. oktober 2000 - 15:32 #14
Jeps du har ret

Men kolonnenavnet er :


Ingen Ting :o(


problemet er, at der ikke er tale om en  kolonne.

Jeg har ledt alle SYS tabellerne igennem, men kunne ikke finde noget brugbart.

Det man skal finde ud af er, hvordan Delphi kan opfange en Global variabel fra MS SQL
Avatar billede moa Nybegynder
28. oktober 2000 - 15:40 #15
Okay!! - Hvad så med
.Fields[0].asInteger;

Det er svært at se ud fra Delphi\'s hjælp om det vil virke, men prøv det!
Avatar billede farouche Nybegynder
28. oktober 2000 - 15:43 #16
BINGO !!

Så kan vi jo gi´ hinanden 1000 point  :o)
Avatar billede moa Nybegynder
28. oktober 2000 - 15:52 #17
Så mange har jeg desværre ikke endnu ;-). Men det er da rart at vi ved fælles hjælp har kunnet hjælpe hinanden! - det er jo ligesom hele ideen bag eksperten!! (så er pointene jo lidt underordnet!).

Håber blot ikke at vi har chikaneret Tigerdyr formeget, for han har jo sikkert fået en mail, hvergang vi har postet et indlæg!!
Avatar billede tigerdyr Nybegynder
28. oktober 2000 - 20:58 #18
*hehe* En masse mails, men emnet er jo interessant, så skidt med det :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester