Just nu i M3-nätverket
Gå till innehåll

Plocka ur värde från en "SQLite-fil"


Mikael63

Rekommendera Poster

Har i princip inga kunskaper ang. det jag vill testa att göra men:

 

Har en databasfil som heter native.db

Filhuvudet i den säger att det är frågan om "SQLite format 3"

 

Med något program jag hittat på nätet, http://sourceforge.net/projects/sqlitebrowser/, kan jag öppna filen och se att den bl.a. innehåller en tabell som heter  sms_message_table

 

Den har, eller kommer att få EN "record". (rad 1)

Från denna vill jag plocka ut värdet som finns i en kolumn, eller ett fält, som heter body.

 

Det värdet vill jag skriva till en ny textfil.

Därefter vill jag radera hela denna record.

 

Till att börja med räcker det om jag kan göra detta en gång men i ett senare skede ska detta schemaläggas och det kan bli frågan om flera värden som ska skrivas till textfilen.

 

Dessutom kanske det behövs någon felkontroll om det saknas record osv.

 

Men - hur går jag vidare?

Till att börja med kan jag ju i ovan nämnda mjukvara testa "Execute SQL" för att senare kanske skriva detta i någon fil som ex. schemaläggaren kan trigga.

Men syntaxen för detta?

 

Edit 1: Okej i programmet får jag rätt resultat med:

SELECT body FROM sms_message_table WHERE rowid='1';

Men sen då..?

 

Edit 2:

Framsteg!!

Med programmet SQLite Export http://www.speqmath.com/tutorials/sqlite_export/ kan jag både skapa min textfil och radera raden efter mig.

 

Men jag skulle helst vilja utesluta raden med "body" i textfilen.

Antingen genom något SQL-kommando som inte tar med det eller något annat (enkelt,gratis) sätt att radera första raden i textfilen.

 

Edit 3:

Kanske fixat sista biten med genom det som beskrivs här:

http://stackoverflow.com/questions/11428692/batch-file-to-delete-first-3-lines-of-a-text-file

more +3 "file.txt" >"file.txt.new"
move /y "file.txt.new" "file.txt"

Länk till kommentar
Dela på andra webbplatser

En annan SQLite-programvara för Windows är SQLite Database Browser som jag använt. 

 

En databas är att föredra framför skriva till textfil, speciellt då det handlar om fler än en rad.

Jag förstår dock inte varför du behöver skapa upp fler filer och flytta fram och tillbaka.

Kan du beskriva ditt behov lite utförligare?

Länk till kommentar
Dela på andra webbplatser

Tror nog det var den browsern jag använde för att klura ut vilken tabell det var jag skulle kolla i.

 

Det hela började med att en kund sa att de, på lite halvprivat initiativ, skulle vilja ha möjlighet att ta emot SMS till en PC (Windows) och från detta skapa en textfil för att sedan läsa in med ett Scada-system.

 

Jag började laborera lite med den hårdvara jag hade tillgänglig, en 4G-dongel från Telia, där man även, i dess gränssnitt, kan skicka och ta emot SMS. Där sparas meddelanden i nämnda databasfil.

Att konvertera till just text var för att kunden hade nämnt det men förmodligen är det enklare att köra någon sådan SQL Query direkt från Scada. Samt att man kanske skaffar annan hårdvara i skarpt läge.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...