2012-01-07 26 views
0

このようなヘルプのリクエストは、あまりにも早い段階で助けを求める言葉の要求に従います(申し訳ありません)。ページを更新せずにデータベースレコードを更新します。 ASP VBscript

私は2つのasp/vbscriptページを持っています。

2番目のページのコードは、データベースレコードを更新します(このフィールドは、次のようになります)。クエリ文字列変数):

Set MyConn=Server.CreateObject("ADODB.Connection") 
     MyConn.Open "dsn=xxx;uid=xxx;password=xxx;" 
     SQLString = "UPDATE dbo_tbl_printing_tempstore SET " & fieldPrefix & "has_text1 = 'YES', " & fieldPrefix & "text = '" & fieldUpdate & "' WHERE id = " & tempid & "" 
     MyConn.Execute(SQLString) 
     MyConn.Close 
    Set MyConn = Nothing 

すべてのフォームは、データベースの更新が発生する原因となることですん提出 - 何も

ページはその後、呼び出し元のページへのresponse.redirectsこれはリフレッシュを引き起こし、。。。失われる最初のページのデータが大量に - これは私が避けようとしているものです。

誰かが、私が電話を出さずに更新を行う方法を教えてもらえますか?私はAjaxがこれを行うことができると言われてきましたが、私はそれを使うのに全く経験がありません。

感謝

+0

はい、ajaxを見てください。 Ajax、HTML、HTTPに関する一般的な調査を行います... – home

+0

この質問はJavaScriptに関連していないので、このようなタグは付けないでください。 –

+0

ホーム、ありがとう私は見ていますが、私は本当にこの1つの要件のためにいくつかの助けを借りて行うことができます。私はAjaxの学習を終わらせるだろうと確信していますが、それは私のための全部のものです。 Milad Naseri、あなたはおそらく正しいでしょうが、何らかのjavascript/jqueryソリューションがあるかどうかわからないので、誰かがそうでないと言うまでそれを入れておくのが適切でした。 –

答えて

1

まず第一に、あなたはSQLインジェクション攻撃から保護されるようにパラメータを使用するようにコードを変更します。

Set MyConn=Server.CreateObject("ADODB.Connection") 
MyConn.Open "dsn=xxx;uid=xxx;password=xxx;" 
SQLString = "UPDATE dbo_tbl_printing_tempstore SET " & fieldPrefix & "has_text1 = 'YES', " & fieldPrefix & "text = ? WHERE id = ?" 
Set MyCommand = Server.CreateObject("ADODB.Command") 
Set MyCommand.ActiveConnection = MyConn 
MyCommand.CommandType = 1 
MyCommand.CommandText = SQLString 
MyCommand.Parameters.Append(MyCommand.CreateParameter("@text", 200, 1, 0, fieldUpdate)) 
MyCommand.Parameters.Append(MyCommand.CreateParameter("@id", 3, 1, 0, tempid)) 
MyCommand.Execute() 
MyConn.Close 
Set MyCommand = Nothing 
Set MyConn = Nothing 

がこれを持って、次のステップは、最初に隠されたフレームを追加してページ:

<iframe id="MyFrame" name="MyFrame" style="display:none;"></iframe> 

そして最後に、単純にこのようなあなたの<form>タグにtargetを追加します。

これでフォームは隠しフレームの内側に提出されますが、データベースの更新は引き続き実行され、リフレッシュは発生しません。

+0

これに感謝します。私はこれを試してみて、私がどのように乗っているかを知らせます。 –

+0

あなたは星だ!私は信じられないほど簡単だった。私はアヤックスなどを学ぼうとしている私の髪を引っ張ってきた。そんなにありがとう! –

+1

乾杯、ときどき必要なのは正しい方向です。 :)あなたの問題が解決した場合は、これを他の質問と同じように左にVアイコンを合わせてAccepted answerとしてください。 –

関連する問題