можно ли средствами JavaScript сделать запись в БД?

digenet

 В ACCESS
если можно то как? очень интересует конкретный пример :)

uncle17

конкретный пример

<% @LANGUAGE="JScript" %>

<%
var strConnect = "DSN=YourDSNHere";
oConn=Server.CreateObject("ADODB.Connection");
oConn.Open(strConnect);

var strSQL = "SELECT SomeField FROM myTable;";
var rsAd=oConn.Execute(strSQL);

Response.Write("First row is "+ rsAd.Fields("SomeField") )

oConn.Close;
%>

Найден за полминуты гугления
З.Ы. Естественно, только из IE

Alexander08

Федя, нахуя хуйню пишешь?

uncle17

буду рад, если переубедишь. Я пока тоже еще порыскаю.
Имеется в виду, кстати, Access на клиентской машине?

digenet

ACCESS вообще на сервере
по нажатию на ссылку должна делаться запись в таблицу
но думаю пока неважно,
сейчас пытаюсь сделать простой пример чтоб локально запись делалась
по этому примеру пытался, пишет 'Server' - определение отсутствует

Alexander08

1. JavaScript и JScript от МелкоСофт имеют ряд координальных отличий
2. твой вопрос про клиентскую машину - существенен
3. нужна прослойка серверная - даже минимальная, так что не советуй плохого...

uncle17

а, ну так тогда AJAX, а на сервере любым скриптовым языком (видимо, ASP*) пихай в базу что угодно. Если нужно именно прям на Javascript, без перезагрузки страницы.

Alexander08

да, кстати, то что ты научился пользоваться гугл - большой плюс, ты молодец!

Dasar

можно ли средствами JavaScript сделать запись в БД?
только средствами JavaScript нельзя обойтись?
как лучше сделать?
может сделать так чтоб вызывалась java-прога делающая запись?
или это не самый лучший вариант
если не брать всяких извращений, то сделать можно, но только для случая, когда Access находится на сервере, и на сервере еще есть дополнительный код, который и делает запись, и этот доп. код вызывается из javascript-ом
только средствами JavaScript-а (на клиентской стороне) не обойтись
нужен еще серверный код - он может быть написан, и на Java-script-е, и на java
да, можно вызывать Java-прогу, которая находится на серверной стороне

hwh2010

если js исполняется в браузере, то непосредственно с БД взаимодействовать нельзя

sutulin

З.Ы. Естественно, только из IE

Наверное, хотел сказать "Естественно, только из IIS", так как представлен server-side код.

Trofimovyoa

Те, кто утверждал, что невозможно из браузера без скриптов на сервере работать с базой ACCESS (локальной или удаленной ошибаются.
Вот подтверждающий код (:

<html>
<script>
function outputClients(a)
{
rs = new ActiveXObject("ADODB.Recordset");
rs.Open("select * from clients", a);

outtxt = "";

while(!rs.EOF)
{
if(outtxt == "")
{
outtxt = "<table border=1><tr>\n";
for(i=0;i<rs.Fields.Count;i++)outtxt += "<th>" + rs.Fields.Item(i).name + "</th>\n";
outtxt += "</tr>\n";
}

outtxt += "<tr>";
for(i=0;i<rs.Fields.Count;i++)outtxt += "<td>" + rs.Fields.Item(i).value + "</td>";
outtxt += "</tr>\n";

rs.MoveNext;
}
rs.Close;

if(outtxt != "")
{
outtxt += "</table>\n";
document.write(outtxt);
}
}

var adoc = new ActiveXObject("ADODB.Connection");
adoc.Provider = "Microsoft.Jet.OLEDB.4.0";
adoc.Open("path_to_database_that_may_be_stored_on_remote_server\\dbname.mdb");

document.write("<br>Clients before insert<br>");
outputClients(adoc);

adoc.Execute("insert into clients (cname) values('Someone')");

document.write("<br>Clients after insert<br>");
outputClients(adoc);

adoc.Close;

</script>
</html>

ppplva

Вот, кстати, еще более гибкий способ. Здесь используется MSSQL, я не сомневаюсь что топикстартер легко адаптирует код к Access.

pitrik2

Вот, кстати, еще более гибкий способ. Здесь используется MSSQL, я не сомневаюсь что топикстартер легко адаптирует код к Access.
по ссылке же php?
или php и джаваскрипт это одно и то же?

Dasar

Те, кто утверждал, что невозможно из браузера без скриптов на сервере работать с базой ACCESS (локальной или удаленной ошибаются.
Вот подтверждающий код (:
это не будет работать из браузера без особых извращений.
извращения:
1. браузер должен быть IE
2. у браузера должны быть прописаны специальный права, чтобы он позволил это выполнить.

Trofimovyoa

извращения:
1. браузер должен быть IE
2. у браузера должны быть прописаны специальный права, чтобы он позволил это выполнить.
1. Кому-то извращения, а для большинства - повседневная норма жизни (:
2. "Специальные права", разрешающие запуск подписанных ActiveX (а больше тут и не требуется насколько помню, по умолчанию даны всем сайтам хоть в ИЕ6, хоть в ИЕ7. Кстати, для того, чтобы пользоваться аяксным функционалом этого форума (в том виде, как он здесь реализован нужны те же "специальные права" (:

Dasar

"Специальные права", разрешающие запуск подписанных ActiveX (а больше тут и не требуется насколько помню, по умолчанию даны всем сайтам хоть в ИЕ6, хоть в ИЕ7.
нет, не даны

serega1604

>Кстати, для того, чтобы пользоваться аяксным функционалом этого форума (в том виде, как он здесь реализован нужны те же "специальные права" (:
о_О, тут ещё и ActiveX есть?

hwh2010

о_О, тут ещё и ActiveX есть?
в IE6 нету XMLHttpRequest, но есть совместимый объект, создающийся с использованием заклинания ActiveX
Оставить комментарий
Имя или ник:
Комментарий: