Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-09 15:24:56 - Mikael Gustavsson, i forum asp.net generellt, Tråden har 18 Kommentarer och lästs av 853 personer

Jag för söker skapa en asmx-fil där jag bl.a. vill kolla om sql-satsen returnerar några poster.
Jag får det inte att fungera.

<code>
Dim Connection As SQLConnection
Dim Command2 As SqlDataAdapter
Dim SQLcmd2 AS String
Dim DS AS DataSet
'Dim Rs as ADODB.Recordset
'Dim Rs as Recordset

Connection = New SqlConnection("server=111.222.333.444;uid=userid;pwd=passordet;database=databasen")

DS = New Dataset("test1")
SQLcmd2 ="SELECT ES_InMailSpec as column1 from EXTSYS where ES_ExtSysID='" & authentication.username & "'"
Command2 = New SqlDataAdapter(SQLcmd2, Connection)
Command2.Fill(DS, "testds")
</code>
Så långt allt OK
Nu vill jag kolla om några poster hämtades/fanns.
I asp skapade man ett recordset, och kollade BOF.
Men det verkar inte gå att göra i asp.net.
<code>
If DS.Bof then
.........
End If
</code>

Hur gör man i .net?
När använder man dataset resp recordset (om man nu kan ha recordset i .net).

Hur gör man sedan för att hämta ut datat (om .BOF=true)?
I asp var det param1=("rs!kolumn1")


/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 08:17:56 - Fredrik Klarqvist

Hej,

Recordset är ett objekt som inte används i .NET alls (om man nu inte kör med COM-Interop av någon dum anledning).

Istället finns andra metoder och objekt att jobba med. Det finns gott om guider i ämnet på nätet. Några är:

http://www.devcity.net/net/article.aspx?alias=start_ado_net
http://msdn.microsoft.com/msdnmag/issues/04/06/datapoints/default.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaccessingdatawithaspnet.asp
http://www.able-consulting.com/dotnet/adonet/adonet_faq.htm


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 10:35:04 - Mikael Gustavsson

Hrmmm....
Säger mig inte (direkt) hur det ska gå till.
Kan jag få exempel på de olika delarna.

1: Ställa en fråga mot en tabell där jag sedan beroende på om det finns poster eller inte, kan göra något (if-sats på svaret om det finns poster eller inte).
2: Läsa data från ett fält i en tabell baserat på en sqlfråga.
3: Lägga till poster till en tabell.
4: Editera data på en post (baserat på sql-fråga)

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 12:27:22 - Magnus Hallberg

Jag vet inte om det är detta du är ute efter, jag lägger in det i alla fall.
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim intID As Integer
Dim conServiceDet As OleDbConnection
Dim strSelect, strServiceDet As String
Dim cmdSelect As OleDbCommand
Dim dtrServiceDet As OleDbDataReader

intID = Int32.Parse(Request.QueryString("id"))
strServiceDet = ConfigurationSettings.AppSettings("ConnString")
conServiceDet = New OleDbConnection(strServiceDet)

strSelect = "Select * From ServiceDetails Where ServiceId=@id"
cmdSelect = New OleDbCommand(strSelect, conServiceDet)
cmdSelect.Parameters.Add("@id", intID)
conServiceDet.Open()

dtrServiceDet = cmdSelect.ExecuteReader

If dtrServiceDet.Read Then
'Skriv koden som ska utföras om det finns poster...
Else
'Skriv koden som ska utföras om det inte finns poster...
End If
</code>

Det som du väl är intresserad av är väl om det finns poster? Finns det poster så läser ju OleDBDatareadern och första Ifsatsen uppfyller villkoret.


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 12:40:05 - Mikael Gustavsson

Nja...
Koden ska användas i en asp.net-skrivet asmx-fil (webservices).
Men jag antar att det du angav är på rätt spår.

Någon annan som har exempel?

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 12:42:01 - Johan Normén

Miakel.

Vi svarar gärna på frågor ang tekniska problem eller arkitektuella ideér om säkerhet och hjälper till med ev lösa buggar då någon sitter fast. Men att skriva en uppsats, en artikel eller bygga ett program åt folk som ber om det går tyvärr bort. Jag anser att detta forum inte är en instruktionsbok för nybörjare utan en plats där nybörjare kan be om hjälp kring problem i mindre skala.
Din senaste post är komplex, det skall till mycket för att lösa dina punkter.
Det du frågar om kan du finna i flertal artiklar du kan få svar på vissa av dina frågor genom att kolla efter gamla poster i forumet etc. Dock är mitt tips till dig att du köper dig en bok om .Net med ADO .Net och ASP .Net för nybörjare om du tycker pro serier är får svåra. Det kommer ge dig mer hjälp på vägen och skapa större förståelse och bygga upp ditt tanke sätt till en stor possetiv fördel.

En god start för att lite roliga exempel är Quick Starten. När du installerar .Net hittar du under .Net Ramverk i Start/Program, Samples and Quick Start... installera dessa. Gå genom de länkar du finner under ASP .Net så kommer du får svar på många frågor. Är det något specifikt du sedan undrar om så kan du fråga igen. För lite kött på benen tror jag att du behöver, för ett svar från någon av oss som är aktiva här skulle nog leda till fler frågetecken för dig. Eller inte öka din förståelse över hur ramverket fungerar.
.Net är numera OO baserat. Att tänka som du gjorde under ASP tiden fungerar inte, det du gjorde där kan du glömma, ta med dig av de tekniska kunskaper du har över saker man kan göra i högnivå inte lågnivå, glöm vad recordset är och vad EOF betyder. Det existerar inte under .Net. Du får ta till andra lösningar nu än då för att lösa dina problem. Exempelvis så vill du veta om ditt DataSet innehåller poster? Ta och kolla DataSetets APIer finns det nått som kan ge svar på din fråga? Analysera och fundera utifrån sånt du redan vet och känner till. Hur fungerarde egentligen EOF i Recordsets? Hur gör jag något liknande med de APIer som finns nu? Vad är jag ute efter etc...

Recordset finnns inte vad finns istället? DataReader, DataSet vad skilljer dem åt? Hur fungerar de? Vad skriver de om dem etc? Du kommer komma mycket längre om du vet vad de gör än bara hur du gör.

Jag svarar gärna på dina frågor, jag försöker oftast ge svar som förklarar mer än själva problemet (om jag har tid.)

Mvh Johan



Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 14:54:04 - Mikael Gustavsson

Jag kan bara konstatera att denna site är bland det bästa som finns på internet.
Stor eloge till Pelle.

Jag kan också konstera, att alla tidigare inlägg jag haft, besvarats av flera olika personer som har mycket hög teknisk och pedagogisk kompetens.

Jag anser nog trots allt att detta inlägg / denna förfrågan om kunskap passar väl in i Pellesofts övriga inlägg.

Jag kan inte .Net (därav detta inlägg), men jag skulle bli väldigt förvånad om jag inte kommer att få mina frågor besvarade även denna gång.

Jag tror inte heller att detta inlägg kräver en hel uppsats till svar.

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-10 15:02:31 - Johan Normén

Mikael.

Jag syfter på detta:
"1: Ställa en fråga mot en tabell där jag sedan beroende på om det finns poster eller inte, kan göra något (if-sats på svaret om det finns poster eller inte).
2: Läsa data från ett fält i en tabell baserat på en sqlfråga.
3: Lägga till poster till en tabell.
4: Editera data på en post (baserat på sql-fråga) "

Inte din första fråga utan vad du ville ha exempel på.
Ju kortare frågor och detaljerade de är ju fortare får du svar. Och ju bättre svar kan du även få med detaljerad information som ökar dina kunskaper. Ett svar kan alla ge. men utveckling handlar inte om att göra som alla andra säger utan förstå varför man gör det man skall göra.

Det är flera som brukar svara, helt sant, men oftast ca 3-5 personer som regelbundet hjälper till med svar. Bl a. Patrik. Andreas, Jag, Min bror... Vi hjälper gärna till, jag vill bara informera om att man bör begränsa sina frågor för att få ett bra svar. Vi är några som vill hinna med och svara på så många frågro som möjligt och även kunna ge ett svar vi känner oss stålta med som vi vet utvecklar även er som ställer frågorna. Det är därför jag påpekade ditt önskemål ang exempel på något som är rätt stort som man typ inte slänger ihop på 5 minuter som även förklarar varför.

Mvh Johan


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 09:34:32 - Fredrik Klarqvist

Jag håller helt med Johans tidigare inlägg angående att precisera sina frågor för att de som svarar ska ska slippa skriva hela uppsatser samt att få bättre och mer relevanta svar.

Hur som så skrev jag (för lääänge sen) en väldigt enkel "översikt" till grunderna i ADO.NET. Den skrevs med databasen Access som utgångspunkt. Den bör ge dig en bild av vilka grundläggande alternativ som finns, även om den kanske inte är helt 100, då "mycket vatten har runnit under många broar" sen dess jag skrev den :)

http://www.ezy.nu/fredrik/ADO.NET.rtf


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 11:00:11 - Mikael Gustavsson

Jag trodde att jag var ganska precis i min fråga (-or).
Jag har nu tagit delar från din 'översikt' (bra översikt).

Vi tar det då ett steg i taget.

Lägga till poster i en SQL-tabell:

<code>
Dim myCn as New System.Data.OleDb.OleDbConnection "PROVIDER=Microsoft.Jet.OLEDB.4.0;server=111.222.333.444;uid=sa;pwd=passordet;database=databas2")

Dim myCmd as New System.Data.OleDb.OleDbCommand("INSERT INTO AO_IN(AO_IN_TEXT) SELECT 'HEJSAN'", myCn)
myCn.Open
myCn.Close
</code>

Dim fungerar utan protester.
Dvs om jag kommenterar bort de två sista raderna, sker inger fel (inget annat heller givetvis).
När jag då aktiverar raden myCn.Open får jag felet 'Could not find installable ISAM'.

Beror detta på att jag tagit ditt exempel som gäller Access, och kör mot SQL-server, eller är det annat fel?
Skall det vara en annan conn-string mot SQL-server?
Övriga 'vanliga' asp-sidor körs med en connstring som pekar på en DNS, kan man göra det även här (hur)?

msjet40.dll finns i system32-mappen.
Webervern fungerar med 'vanlig' asp mot SQL-servern.

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 11:13:57 - Fredrik Klarqvist

Om du kör mot SQL-server ska du istället för OLEDB-klasserna använda SQL-klasserna. Dessa ligger i:

System.Data.SQLClient

Alla klasser heter sedan helt enkelt "SQL" istället för "OleDB", dvs "SqlConnection", "SQLCommand" osv.

Connectionsträngen bör också se ut som:
SERVER=XXX.XXX.XX.XX;DATABASE=DB_NAME;User ID=xx;Password=XXXXXX


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 12:17:08 - Mikael Gustavsson

Jodå, jag fick just detta att fungera.

Att lägga till poster i en SQL-server blev därmed så här:
<code>
Connection = New SqlConnection("server=111.222.333.444;uid=sa;pwd=passordet;database=database2")
DS = New Dataset("TempDS")

SQLcmd ="INSERT INTO AO_IN(AO_IN_TEXT) SELECT 'Lite txt till db:n'"

Command = New SqlDataAdapter(SQLcmd, Connection)

Command.Fill(DS, "testds")
</code>

Varför måste jag köra DS=..... och Command.Fill......?
Finns det annat sätt att exekvera SQL-Insert-Frågan?


Då tar vi fråga 2:
Hur man jag kolla om en SQL-fråga mot en SQL-databas returnerar några poster?
Jag vill veta om det finns poster som uppfyller frågan.
Frågan innehåller i detta läge inga JOIN, utan går mot EN tabell.
(Blir det annan lösning om det är en fråga med JOIN?)

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 12:46:06 - Johan Normén

Mikael.

Du kan se DataSet som en tatabas tabel. Den byggs upp som om det vore en Table och du kan köra Joins mellan DataTabels m.m.

Du behöver egentligen inte kolla om datasetet innehåller poster. I ASP behövde man typ göra det för att minimera fel eller utföra något extra om recordsetet var tomt. Jag antar att du inte skall göa något extra om DataSetet är tomt? Utan du vill bara presentera den data du får ut på en ASP .Net sida va?

"Varför måste jag köra DS=..... och Command.Fill......?"
DS = är för att du måste skapa upp ett Dataset.
Command.Fill fyller DataSetet med data utifrån din fråga. Men du gör en Insert då skall du köra något annat. Ex ExecuteNoQuery som sedan ger dig en int med affected rows.
Då skall du inte heller använda DataAdaptern utan SqlCommand med en gång.
<code>
SqlConnection ...... implmentation....
SqlCommand command = new SqlCommand(SQLcmd,Connection);
int affectedRows command.ExecuteNoQuery();

if(affectedRows > 0)
... Du har lagt till data....
</code>
"Finns det annat sätt att exekvera SQL-Insert-Frågan?"
Visade det ovan, vilket är bästa sättet.

Dock kan du med lite mer Automatik uppdatera förändrade DataSets med SqlDataAdaptern.
Exempel:
<code>
public static SqlDataAdapter CreateCustomerAdapter(SqlConnection conn)
{
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd;
SqlParameter parm;

// Create the SelectCommand.

cmd = new SqlCommand("SELECT * FROM Customers " +
"WHERE Country = @Country AND City = @City", conn);

cmd.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
cmd.Parameters.Add("@City", SqlDbType.NVarChar, 15);

da.SelectCommand = cmd;

// Create the UpdateCommand.

cmd = new SqlCommand("UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
"WHERE CustomerID = @oldCustomerID", conn);

cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");

parm = cmd.Parameters.Add("@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
parm.SourceVersion = DataRowVersion.Original;

da.UpdateCommand = cmd;

return da;
}
</code>

Här kan du även hitta lite info:
http://www.asp.net/tutorials/quickstart.aspx

Mvh Johan


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 13:51:42 - Mikael Gustavsson

PelleSoft har en liten bugg (anser jag).
Jag bevakar toppgrenen av denna tråd via epost.
Nu har det skapats en ny 'topptråd', det har sedan inkommit svar på denna nya 'gren'.
Svar på dessa inlägg skickas då inte till mig via epost.
Jag har därför nu missat att du svarat på denna nya gren.
Ska det verkligen vara så?????

Nog om detta.

Anledningen till att jag ville kolla om några poster returnerades, var att det i detta fall var en select-fråga som kollade att headerns user och pwd fanns i min användartabell.
Lösningen blev If DS.Tables(0).Rows.Count>0.
Så detta är löst.

Jag ska inte ha detta på en asp.net-sida.
Det är till en asmx-fil (webservice).

Våra kunder kommer att anropa min asmx-fil, och om user/pwd finns i min användartabell, så kommer taggarna från bodyn att läggas i min sql-server.

Jag kommer nu att testa din lösning med att inte ha DS vid en insert.
Tackar..

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 14:17:40 - Mikael Gustavsson

Hrmmm...
Nä, det vill inte.

<code>
SQLcmd ="INSERT INTO AO_IN(AO_IN_TEXT, AO_IN_EXTREF, AO_IN_ADRESS) SELECT '" & SweWOX_XML_Message & "','" & ExtRefNr & "','" & ExtAdress & "'"
Command = New SqlCommand(SQLcmd, Connection)
Command.ExecuteNoQuery()
</code>

Vad är fel?

/ Mikael


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 14:21:42 - Johan Normén

Underlättar om du säger vad det är som inte fungerar.


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 15:03:32 - Johan Olsson

Testa att byta ut SELECT mot VALUES ?

INSERT INTO AO_IN(AO_IN_TEXT, AO_IN_EXTREF, AO_IN_ADRESS) VALUES('" & SweWOX_XML_Message & "','" & ExtRefNr & "','" & ExtAdress & "')"


/Johan


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 15:06:07 - Johan Normén

XAdjo...

Bra, den missade jag när jag kollade hans kod. Finns dock bara en sak som snurrar i mitt huvud nu. Sluta jobbet så jag kan gå ut i solen som långsamt går ner... :-( Borde vara lag på att slippa jobba om det är fint väder :-)


Svara

Sv: ASP.NET, Webservice, ASMX-filer, Recordset ??

Postades av 2004-08-11 15:06:32 - Mikael Gustavsson

Jag får larmet 'ogiltigt proceduranrop eller argument'.

Asmx-filen anropas från Access med Soap 3.0

Larmet kommer inte i returnerat soapmeddelande, utan larmet kommer i koden som anropar asmx-filen.

Om jag istället kör asmx-filen med DS som tidigare, fungerar allt.

Select eller value borde inte spela någon roll.
Det fungerar ju med DS.

Vadå ut och sola?
Finns väl inget roligare än att sitta inne och jobba?

/ Mikael


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 953
271 705
705
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies