Giletwala Dhaval Ответов: 2

Предотвращение дублирования записей в базе данных Sql server с помощью javascript


Здравствуйте Друзья

Я создаю одну форму элемента. Пожалуйста, решите мою проблему я не ввожу повторяющееся имя элемента в таблицу itemmaster я использую sql server 2008 и C#. пожалуйста, решите мою проблему wia Java script или JQuery
не пишите никаких sql-запросов . я знаю sql-запрос.


Mehdi Gholam

Язык базы данных-SQL, поэтому вы не можете не писать SQL.

Giletwala Dhaval

Здравствуйте Мехди
Каждый раз проверяйте в сторону базы данных. это prefomance проблемой в будущем..

ZurdoDev

Вы должны проверить базу данных, чтобы узнать, является ли она дубликатом или нет. А как еще ты это сделаешь?

2 Ответов

Рейтинг:
1

V.Lorz

Если вы хотите сделать это на стороне клиента, а не на стороне сервера, то относительно просто использовать AJAX из JQuery.

- Вы можете отключить кнопку "Отправить" ("принять" или любое другое имя, которое вы найдете подходящим) при загрузке страницы.

- Когда пользователь изменяет текст в элементе управления вводом, вы можете обнаружить событие изменения текста и использовать AJAX, чтобы (в фоновом режиме) попытаться загрузить один текстовый/xml-документ с вашего сайта. Вы можете использовать текст в элементе управления вводом как часть запроса.

- На стороне сервера, когда он получает запрос на файл (вы, конечно, должны поймать его, так как он будет ссылаться на несуществующую страницу/документ), ваш код должен проверить в базе данных наличие или отсутствие этого текста и вернуть соответствующее содержимое, которое может быть просто одним " 1 "или одним "0".

- В обработчике события, запущенного после завершения загрузки (клиентская сторона, захваченная в JQuery), вы берете это значение и решаете включить/отключить кнопку "Отправить".


Это сложно собрать все вместе, но создает впечатление, что все делается на стороне клиента.

Самый простой способ сделать это-проверка данных на стороне сервера.

Этот фрагмент кода может вам помочь:

Поместите что-то вроде этого в обработчик событий:

LoadMyFile("myfiles/oneXmlFile.xml", function(xml) {
    // This variable contains the parsed xml;
    // ...do something with it here.
});


И сделайте эту функцию доступной для вашего кода страницы. sourceDoc-это url-адрес и готовый обратный вызов, вызываемый при успешной загрузке файла.

function LoadMyFile(sourceDoc, Ready) {
    $.ajax({
        type: "GET",
        url: sourceDoc,
        dataType: "xml",
        success: function(xml) {
            Ready(xml);
        }
    });
}


p.d. Вот как я сделал что-то подобное некоторое время назад, но создание и тестирование некоторого кода для вас теперь может занять слишком много времени.


Рейтинг:
0

Jitendra Sabat

Если вы не хотите проверять базу данных каждый раз,то вам придется извлекать все данные на стороне клиента во время загрузки страницы.Храните их в массиве javascript или объекте json.Затем каждый раз,когда вы делаете запись в своих полях, проверяйте наличие этого конкретного элемента в извлеченных данных из базы данных.Каждый раз,когда вы делаете запись в базе данных, перезагрузите свою страницу, чтобы включить извлечение обновленных данных из базы данных.Затем проверяйте наличие существующих данных каждый раз, когда вы делаете запрос на отправку в базу данных.