Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 3

SQL Server и JavaScript

21.05.2012, 20:31. Показов 5667. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть база данных созданная в SQL Server и таблица в JavaScript. Как их можно соединить чтобы при нажатии на кнопку сохранить все данные заносились в БД?
Миниатюры
SQL Server и JavaScript   SQL Server и JavaScript  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2012, 20:31
Ответы с готовыми решениями:

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection
Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection Вот такую ошибку выдает. В DSN...

Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server?
ВОПРОС: Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server? MS SQL Server...

Как средствами джавы реализовать просмотр базы данных Access, SQL Server, SQL Server Compact и запись в нее?
---

4
Заблокирован
21.05.2012, 21:55
1. форму на сервер в php-(perl-, asp-...)программу отправлять умеете? да/нет?

2. в php-(perl-, asp-...)программе разбирать полученные данные формы умеете? да/нет?

3. из php-(perl-, asp-...)программы заносить данные в mysql умеете? да/нет?


если везде ответите 'да', то проблем с объяснением ajax-технологии не будет.
ибо ajax - это всего лишь 'модификация' (разновидность) отправки данных на сервер:
вместо сабмита формы точно такие же данные в точно таком же виде уходят на сервер,
но в фоновом режиме.

ну а ежели хоть что-то из трёх перечисленных пунктов не умеете,.. то, увы...
тогда объяснять что-либо вам - это только время зря терять.
0
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 3
22.05.2012, 10:04  [ТС]
1 да
2 Если это можно сказать как обработка запроса, то да
3 да
0
Заблокирован
22.05.2012, 17:15
ну раз всё умеете, то тогда читайте:

1. форма при сабмите (любым методом - get или post - неважно) формирует 'строку' вида:
имя первого элемента формы=значение первого элемента формы&имя второго элемента формы=значение второго элемента формы&...
и отправляет эту 'строку' серверной программе на php (perl, asp...)
формирует форма при сабмите эту строку сама, автоматически
и форме для этого обязательно нужен хотя бы один поименованный элемент формы (из которого она и возьмёт name и value)

при использовании ajax-технологии аналогичную строку вам надо сформировать самому, при помощи javascripta,
методом конкатенации переменных (или строк символов).
никаких элементов формы вообще не надо - ни с именами, ни без имен, да и сами теги <form>...</form> не нужны.
просто берёте со страницы то, что вам надо и сами 'собираете' это в 'строку'.
не нужны в принципе никакие name, никакие амперсанды, никакие символы равенства.
можете собрать строку такого вида:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
var first = 'мама';
var second = 'мыла';
var third = 'раму';
var stroka = first + ' ' + second + ' ' + third;
// и отправить на сервер строку-предложение 'мама мыла раму'
 
// если вам нужно, то можете собрать строку, похожую на ту, что отправляет форма при сабмите
// var stroka = 'kto=' + first + '&chto_delala=' + second + '&nad_chem=' + third;
// и отправить на сервер строку 'kto=мама&chto_delala=мыла&nad_chem=раму'
// при этом никаких элементов формы с именами 'kto', 'chto_delala' и 'nad_chem',
// обязательных при сабмите формы, вам на странице иметь не надо
повторяю главные тезисы - отличие ajax от сабмита формы:
a) при использовании ajax формы (тегов <form>...</form>), как обязательное условие, иметь не надо;
b) при использовании ajax поименованных элементов формы, как обязательное условие, иметь не надо;
c) при использовании ajax отправляемая вами на сервер строка может быть любого удобного для вас вида.

* один маленький нюанс: форма, когда 'собирает строку', все её не-ASCII-символы (типа кириллических)
автоматически сама переводит в нужный вид - декодирует.
при использовании ajax кодирование придётся делать самому.
что очень просто - пишем не var first = 'мама'; , а var first = encodeURIComponent ('мама');

до сих пор всё понятно? да/нет?
-----

2) отправка данных формы (в виде некоторой 'строки символов') происходит при её сабмите,
для чего надо или нажать на кнопку сабмита, либо программно просабмитить форму form.submit ();

при использовании ajax ничего сабмитить не надо.
отправка 'строки символов' на сервер может произойти по любому нужному нам событию.
например, делаем функцию
JavaScript
1
2
3
4
5
function myAJAXfunc () {
// здесь собираем строку символов
 
// здесь отправляем строку символов на сервер
}
-- надо, чтобы 'строка символов' на сервер отправилась по загрузке окна -
пишем onload = myAJAXfunc;
-- надо, чтобы 'строка символов' на сервер отправилась по клику на ссылке -
пишем <a href="#" onclick="myAJAXfunc (); return false">link</a>
-- надо, чтобы 'строка символов' на сервер отправилась при вводе символа в текстовое поле -
пишем <input onkeyup="myAJAXfunc ()">
-- и так далее... в общем, где угодно, как угодно и когда угодно.

видите, сколько преимуществ у ajax-технологии супротив отправки с помощью формы?
здесь тоже всё понятно? да/нет?
-----

3) при отправке строки символов на сервер с помощью формы требуется обязательно ещё и окно,
куда загрузится серверный файл (на php, на perl, на asp...), который указан в атрибуте action тега <form>.
окно может быть текущим, а можно и како-то иное окно для этого дела выбрать -
указав имя этого нужного окна в атрибуте target тега <form>.
при использовании ajax никакого окна не нужно - строка символов просто уйдёт на сервер, серверный файл запустится,
эту строку обработает, в том числе и передаст данные в mysql, если это требуется.
обязательного возврата чего-либо в браузер совсем не требуется.
однако, чаще всего такой возврат сами организуют, чтобы получить подтверждение от серверной программы -
'всё сделано, данные обработаны, в mysql изменения внесены' или, наоборот -
'ничего не получилось, mysql глючит или переданная строка неверная'.

кроме того, при сабмите формы методом get из-за необходимости окна для сабмита существуют два 'минуса':
-- строка символов имеет ограничение по длине в 264 символа (вместе с адресом серверного файла)
-- в окне после самбита загружается серверный файл, котором все эти символы очень некрасиво
видны (я о query_string сейчас пишу; о том, что следует после символа ? в адресной строке браузера)

при использовании ajax никаких ограничений по длине 'строки символов' нет,
да и нигде ничего не будет видно.
здесь тоже всё ясно? да/нет?
-----

4) практическая реализация:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// создаём глобальный ajax-объект - как бы 'виртуальную форму'
var objAJAX = ('/s' == 's') ? new ActiveXObject ('Microsoft.XMLHTTP') : new XMLHttpRequest ();
 
// создаём функцию, коя будет собирать строку и отправлять её на сервер
function myAJAXfunc () {
// здесь собираем строку символов
var stroka = 'то что нужно' + document.getElementById ('id нужного тега').innerHTML + ...
              ... + document.getElementById ('id другого тега, типа поля ввода').value + ...
              ... + 'ещё чего надо';
// если символы не-ASCII-типа (не латинские, не цифры...), то не забываем все их
// кодировать методом encodeURIComponent ()
 
// здесь отправляем строку символов на сервер
// указываем метод, путь к серверному файлу, символ ?, потому что get-метод и нашу строку
objAJAX.open ('get', 'путь к php-файлу' + '?' + stroka);
 
// здесь, если нужно, назначаем функцию, которая обработает ответ от сервера (типа 'удачно/неудачно')
objAJAX.onreadystatechange = OtvetServera;
 
// отправляем строку на сервер
objAJAX.send (null);
}
 
//если хотим получить ответ сервера и назначили функцию, то описываем её
function OtvetServera ()
{
// когда и если серверная программа прислала ответ
if (objAJAX.readyState == 4)
   {
   var otvet = objAJAX.responseText;
   // и делаем с этой строковой переменной то, что нужно
   // например, помещаем его в специальное место на странице
   // document.getElementById ('id тега для размещения ответа').innerHTML = otvet
   // или просто вызываем окошко
   // alert ('Сервер ответил: ' + otvet);
   }
}
многие пишут 'стопяцот' строчек для формирования ajax-объекта (особливо любят оператор try...catch…finally),
проверяют ответ сервера также 'тучей' всяких-разных условий, кроме единственного readyState == 4...
оно, конечно, можно... но в подавляющем большинстве случае совершенно не нужно.

тоже всё понятно? да/нет?
-----

5. ну а в серверной программе тоже всё просто:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$query_str = $_SERVER['QUERY_STRING'];
 
// разбираете полученные данные. вы написали, что умеете
 
// заносите данные в mysql, это вы, по вашим словам, тоже умеете 
 
// по итогам разбора и занесения формируете ответ, который будете возвращать странице
$result = "удачно/неудачно";
 
// прописываете заголовок ответа
header ("Content-type: text/plain; charset=utf-8");
// отдаёте ответ странице
print $result;
?>
и здесь ясно? да/нет?
-----

поначалу сделайте php-файл, который QUERY_STRING занесёт в БД и вернёт ответ print 'OK';
затем сделайте простейшую html-страницу c кнопкой, которая по нажатию отправит ajax-ом
простую строку типа 'mama myla 2 ramy' (только ASCII-символы)
и получит ответ 'OK' окошком алерта

если всё на самом деле OK, то усложняйте задачу...
главная проблема обычно в кодировках.
html-страница и php-файл в идеале должны быть написаны в UTF-8
и сервер должен быть настроен на UTF-8
когда что-то не так - немного помучаетесь
1
Заблокирован
12.10.2012, 01:42
в строке #2 последнего фрагмента кода не тот слеш прописан
надо так:
var objAJAX = ('\s' == 's') ? new ActiveXObject ('Microsoft.XMLHTTP') : new XMLHttpRequest ();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2012, 01:42
Помогаю со студенческими работами здесь

Подключиться к SQL 2000. BASE_STRING = 'Driver={SQL Server};Server=(local);Database=mybase;
Пишу поключение BASE_STRING = 'Driver={SQL Server};Server=(local);Database=mybase;', тестирую соединение в редакторе (Ultradev), все...

Как можно осуществить репликацию между офисной БД (MS SQL Server) и БД в Интернете (MS SQL Server) ?
Подскажите пожалуйста, как можно осуществить репликацию между офисной БД (MS SQL Server) и БД в Интернете (MS SQL Server) и где об этом...

Microsoft SQL Server Compact Edition в SQL Server Management Studio Express
Не могу понять как настроить SQL Server Management Studio Expres чтоб открывать и создавать бд sql ce. В менеджере просто нет возможности...

SQL Server 2012 Management Studio Express не появляется служба SQL Server
Здравствуйте. Установил SQL Server Management Studio Express 2012 , необходимый для работы одной программы конфигурирования устройства. Там...

Настройка SQL Server 2008 для работы с SQL Server Management Studio
Доброго времени суток. Подскажите пожалуйста, что нужно сделать для того, чтобы SQL Server Management Studio соединялось с SQL сервером ?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru