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


Mellanslag i fältnamnet ger fel vid Update ef

Postades av 2001-04-10 15:23:00 - Andreas Hillqvist, i forum databaser, Tråden har 16 Kommentarer och lästs av 789 personer

Hejsan.

Har ett recordset i vilket det förekommer fält med och utan mellanslag.
Om jag lägger till en post i recordset'et och enbart förändrar fält vilket inte innehåller mellanslag fungerar det utan problem. Men om jag modifierar ett felt med mellanslag får jag ett fel vid Update.

I errors collectionen från connection objektet ligger tre fel. De två första saknar beskrivning. Men det tredje säjer något om OLDB Providern och multistep operation...

Uppskattar gärna hjälp... :o)


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 09:26:00 - Magnus Gladh

Efter som SQL inte vet när ditt fältnamn tar slut så antar den att när ett mellanslag på träffas så är fältnamnet slut.

Alltså fungera inte följande:

SELECT Mitt Namn FROM Namn

För att lösa detta problem brukar man skriva _ som mellanslag, nu finns det ett sätt att specifisera vilket som är fältnamnet ändå fast du inte använt _.

SELECT [Mitt Namn] FROM Namn

Fungerar alldeles utmärkt. Det är dock att rekomender att skriva ihop sina fältnamn, inte använda svenska tecken eller använda resarverade ord så som Date, Time osv osv... Även om man kan lösa dessa problem med []

- Magnus


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 13:14:00 - Andreas Hillqvist

Så du menar att jag explecit måste deklarera alla fältnam istället för att använda *?

Det "roliga" är att det fungera med access OLEDB provider. Men inte med SQL Servers. Antagligen en bugg i providern.

Ska testa ditt förslag.


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 14:41:00 - Magnus Gladh

Tja om du använder * borde det fungera eftersom SQL själv hämtar namnen på fälten och då borde fixa till sådana missar.

Själv kör jag frågor mot databasen med hjälp av * där det finns hemska fält namn som [Line No.] hur man nu kan slänga med en punkt i ett fältnamn... och det fungerar bra.

Fast du skrev att du hade problem med Insert och update och där kan du inte använda * utan måste skriva fältnamnet för hand.

- Magnus


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 16:21:00 - Andreas Hillqvist

Du missade att jag använder ett recordset. Det är när jag anropar update metoden på recordset'et felet inträffa. Och endast om jag redigerat ett fält med mellanslag i fältnamnet. Så det är en bugg i providern. Måste det nästan vara, eller?


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 20:41:00 - Magnus Gladh

Det är det säkert!

Varför inte göra en vanlig SQL sats, betydligt snabbare, och så slipper du problemet.

- Magnus


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-11 23:56:00 - Andreas Hillqvist

Egentligen så är det inte mitt projekt eller mitt problem. Ska mata in en massa data i SQL servern. Kan ju i loopen sammanfoga alla satser till en jätte stor sträng. Med det tar ju tid att skicka och tolka den. Så vilket är det mest effektiva sättet?


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-12 11:29:00 - Magnus Gladh

En INSERT / UPDATE är snabbare än att göra det via recordsetet eftersom du då måste skapa ditt recordset och sedan göra en koppling till en viss tabel och sedan updatera...

gör så här:

dim oConn as adodb.connection
set oConn as adodb.connection

oConn.open "DIN_KOPPLING"

sSQL = "INSERT INTO tabell_namn () VALUES()"
oConn.execute sSQL,,128

set oConn = nothing


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-12 12:04:00 - Andreas Hillqvist

Tack för din insatts... Men...

Om testar att göra en loop med din kod. Alltså gör en execut med en INSERT och samma sak med ett recordset. Är recordset'et betydligt snabbare. Detta beror på att Execut skickar data till servern och väntar sedan på svar. Kan man lösa detta med att skicka det asynkront, eller slåsamman alla inserts tell en enorm sträng som man sedan skickar med en Execut?

I enstaka insert så är en Insert betydligt snabbare, det vet jag. Men det är mycke data som skall infogas från en loop.

Är inte så insatt i Bulk operationer. Någon som har en god insikt i dem?


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-17 14:39:00 - Christoffer Hedgate

Jag tänkte precis föreslå det, men du 'hann precis' skriva det själv, allra sist i ditt meddelande. Använd bcp istället, du lär tjäna mycket tid och prestanda på det. Dessutom är det fördelaktigt rent loggmässigt också.


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-17 22:02:00 - Patrik Löwendahl

bcp ??


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-17 22:17:00 - Andreas Hillqvist

Tror det är bulk operationer. Men hur funkar det?

Tror inte det går i min applikation efter som den också skall var kompatibel med Access...


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-18 08:35:00 - Christoffer Hedgate

OK, nej då är det ganska dödfött ja... :)

bcp = Bulk Copy Program

bcp används för att importera data i en textfil till SQL Server (eller exportera från SQL Server till en textfil) och är extremt mycket snabbare än att köra en mängd INSERT satser. Det är samma program som används av SQL Server utan att man ser det om man kör en BULK INSERT sats.


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-18 09:28:00 - Patrik Löwendahl

exempel ??


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-18 11:26:00 - Christoffer Hedgate

En textfil enligt nedan typ:

1;Christoffer;Hedgate;Apptus Technologies
2;Patrik;Löwendahl;Cornerstone

Följande kommando (i prompt alltså) kopierar in hela innehållet i en tabell i databasen:

bcp databasnamn.dbo.tabellnamn in "c:\datafil.txt" -t";" -S"servernamn" -U"användare" -P"lösenord"

I sin enklaste form.


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-18 11:46:00 - Patrik Löwendahl

oki.. så den kräver någon typ av fil ?? kan inte använda strängar eller arrayer på någont sätt ??? MSDN förklaringarna gillar filer iofs..


Svara

Sv: Mellanslag i fältnamnet ger fel vid Updat

Postades av 2001-04-18 12:55:00 - Christoffer Hedgate

Precis, den läser in en fil. I ett sånt här fall (med en stor uppdatering) skulle jag nog lagrat strängen/arrayen eller vad det var i en fil, och sedan kört in den i SQL Server med bcp.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 615
27 953
271 709
5 468
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
Expand
next previous
Close

Previous

0/0

Next