vb.net обрабатывает много имен таблиц, используя строку - PullRequest
0 голосов
/ 27 октября 2010

Я храню имя таблицы в строке

ugad = "INSERT INTO tb (Ugname, Ugdob, Uggender)"

это обычный запрос, который хорошо работает.

Но мне нужно хранить имя таблицы в строке с именем "dept"

и эта строка будет иметь имя таблицы сравнения в разное время. Как мне его запустить, Ват запрос должен дать.

ugad = "ВСТАВИТЬ В ОТДЕЛ (Ugname, Ugdob, Uggender)" Я знаю, что этот запрос не vaild. Могу ли я узнать правильный запрос

Ответы [ 3 ]

2 голосов
/ 27 октября 2010

Или

ugad = String.Format("INSERT INTO {0}(Ugname,Ugdob,Uggender)", dept)

Который, на мой взгляд, легче читать и легче поддерживать.

2 голосов
/ 27 октября 2010

Использование:

ugad = "INSERT INTO " & dept & "(Ugname,Ugdob,Uggender)" 

NB Возможно, есть более безопасные и лучшие способы составления SQL (если вы беспокоитесь о злонамеренном или случайном вмешательстве в ваши базовые данные посредством SQL-инъекции), чем приведенное выше, но, надеюсь, чтоты начал.

1 голос
/ 27 октября 2010

Если я вас правильно понимаю, вы не должны попробовать что-то вроде

ugad = "INSERT INTO " + dept + "(Ugname,Ugdob,Uggender)"

Иметь llok на Операторы в VB.NET

Просто помните, что конкатенация строк может быть очень медленной, когда вы начинаете конкатенацию в циклах, поэтому всегда помните, что класс StringBuilder существует и намного быстрее, чем обычная конкатенация. .

...