совет как сохранить html таблицу на SQL сервере - PullRequest
0 голосов
/ 04 марта 2010

Я пытаюсь сохранить таблицу html в таблицу сервера sql с уникальным именем и сохранить ее данные в базе данных.Например, у меня есть HTML-таблица, как это (она динамически создается в браузере пользователем).

int varchar (20) http://content.screencast.com/users/Telman/folders/Jing/media/4605e7cc-d874-4ac4-ba30-13643fe22f3d/2010-03-04_0211.png

Я использую asp.net, C #, SqlСервер 2008 экспресс.Как можно после нажатия на кнопку «Сохранить» создать таблицу с уникальным именем, типами 2 colums int и varchar (40) и вставить данные?

Я думаю, что это возможно путем преобразования таблицы в XML, а затем обработать этот XMLна классах C #, затем сохраните в базе данных.

Что вы поете об этом?

Добавлено после редактирования?

Я хочу сохранить это:

<table>
    <tr>
       <td>int</td>
       <td>varchar(40)</td>
    </tr>
    <tr>
       <td>1</td>
       <td>USA</td>
    </tr>
    <tr>
       <td>2</td>
       <td>Canada</td>
    </tr>
    <tr>
       <td>3</td>
       <td>Mexico</td>
    </tr>
</table>

вот так:

 CREATE TABLE uniqueName
(key int,
values varchar(50)) 

INSERT INTO uniqueName (key, values)
       VALUES (1,  'USA') 
INSERT INTO uniqueName (key, values)
       VALUES (2,  'Canada') 
INSERT INTO uniqueName (key, values)
       VALUES (3,  'Mexico') 

поможет больше кода :) или ссылок

1 Ответ

0 голосов
/ 04 марта 2010

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

CREATE TABLE dbo.HtmlTables
(ID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
 HtmlTableName VARCHAR(100)  -- or whatever length you need
)

CREATE TABLE dbo.HtmlTableData
(ID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
 HtmlTableID INT NOT NULL,
 Sequence INT NOT NULL,
 Key INT,
 Value VARCHAR(500)
)

Вы захотите создать ссылочную целостность внешнего ключа между двумя таблицами в поле HtmlTables.ID:

ALTER TABLE dbo.HtmlTableData
  ADD CONSTRAINT FK_HtmlTableData_HtmlTables
  FOREIGN KEY(HtmlTableID) REFERENCES dbo.HtmlTables(ID)

и вы, скорее всего, также хотите, чтобы каждый порядковый номер отображался только один раз для каждого HtmlTableID, поэтому создайте уникальный индекс.

CREATE UNIQUE INDEX UIX01_HtmlTableData
  ON dbo.HtmlTableData(HtmlTableID, Sequence)

Теперь вы можете хранить каждую таблицу HTML в записи в dbo.HtmlTables, и каждая строка в сетке может сохраняться в строке в dbo.HtmlTableData и связываться с записью таблицы HTML посредством отношения внешнего ключа, и будет правильно упорядочен с помощью поля Sequence.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...