06. september 2001 - 20:33Der er
18 kommentarer og 1 løsning
database problem
Hej alle. Jeg har nogen problemer med mit notat felt (MS SQL db). Jeg bruger følgende kode til at give den en værdi: <% Set rs = Server.CreateObject(\"ADODB.RecordSet\") rs.Open \"SELECT * FROM tblProfiler\", Conn, 1, 3
rs.AddNew rs(\"freetext\") = nFreeText rs.Update
Set rs = Nothing %>
nFreeText er en variabel som laves vha en request.form. (den er blevet renset for \' ).
Hvad kan være galt? Det samme sker også når jeg opdaterer en record.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
eagleeye -> Ups, det glemte jeg at sige \"Syntax error\" - og så linienummeret med rs(\"freetext\") = nFreeText
stig3 -> Der behøver ikke at være citationstegn rundt om variabelnavnene så længe de inderholder strenge her. Du kan kalde det Notat felt eller Tekst felt.
cuddles -> Jeg er faktisk ikke klar over hvad de betyder men disse virker ved alle andre operationer jeg bruger. Også ved alle andre felter i min database, bare ikke ved notat/tekst felter.
Jeg er ikke så meget inde i msSQL men jeg ahr fundet dette link som viser noget med rs.addnew: http://www.maherassociates.com/mssql.cfm De benytter: Set rs = db.OpenRecordset(cSQL, dbOpenDynamic, dbExecDirect, dbOptimistic) til at åbne med. Måske det er noget du kan bruge.
Hvis det er syntax fejl er vil jeg nok også tro der skulle \'\' omkring.
eagleeye -> Jeg prøvede nogen af mulighederne de talte om i linket men de virkede ikke, jeg bruger heller ikke en ODBC forbindelse men en DSN-Less. Jeg prøvede også for god ordens skyld at omringe min variable med \"... men ligelidt hjalp det.
hmm har lige fundet det her, så skal det nok være \" som du skriver:
set xConn = Server.CreateObject(\"ADODB.Connection\") xConn.Open \"myDSNname\" ` Open connection using correct DSN Set res = Server.CreateObject(\"ADODB.Recordset\") ` 2 for Open Dynamic, 3 for Optimistic Locking, 2 for Table res.Open \"MysqlTable\", xConn, 2, 3, 2 ` Opens the table \"MysqlTAble\" into a recordset res.AddNew ` Add a new row res.Fields(0) = 100 ` Set first field (integer) to 100 res.Fields(1) = \"Line Number 1\" ` Set second field (text) to some text value res.Fields(2) = date() ` Set third field (datetime) named \"EndDate\" to current date res.Update ` Call update to commit the data res.Close ` Close the recordset set rec = nothing xConn.close
Såvidt jeg kan se virker dette med en MySQL database? Jeg har ikke kun brug for at få det til at virke ved .AddNew men også når jeg vil opdatere min database.
Ja ok, men jeg ville gætte på at open ville være noget af det samme.
Men de skriver rs.Open \"SQL-ting\",Conn,2, 3 hvor du har 1,3.?
Jeg har haft .addnew til at virke med disse(godt nok access database): Rs.Open \"SQL-ting\",Conn ...eller Rs.Open \"SQL-ting\",Conn,adopenstatic,adlockoptimistic
Jeg har bare set med access at hvis man skriver de forkerte så virker opdateringen ikke.
adopenstatic og adlockoptimistic er to konstanter som har hhv. værdien 1 og 3... altså giver det det samme som jeg skriver. Men som sagt virker alting perfekt med alle andrer felte i min database, bare ikke dette notat felt. :(...
Hej jeg har set nogle steder skrive de denne rs.open:
rs.open \"table\", conn, 1, 2
din cil så være: rs.Open \"tblProfiler\", Conn, 1, 3
rs.AddNew rs(\"freetext\") = nFreeText rs.Update
Synes godt om
Ny brugerNybegynder
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.