2009-06-30 1 views
4

Я начинаю с C#, ASP.NET, SQL Server Express и программирования в целом. Я пытаюсь сделать онлайн-календарь (в крайний срок). Я прочитаю все другие сообщения, похожие на это, но на данный момент у меня есть вопрос, который, я надеюсь, заставит меня идти в мою сторону.Рекомендации по схеме базы данных календаря?

Каковы шаги для привязки календаря к базе данных? Любые примеры того, где/как это было сделано, будут высоко оценены?

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

ответ

1

Я написал вам небольшой пример, который показывает

  1. Подключение к серверу SQL Express
  2. Чтение данных
  3. Выбор нескольких дат (т. Е. Более одного ввода даты разными пользователями)

Надеется, что это помогает! ...

// The SQL connection object to connect to the database. Takes connection string. 
SqlConnection connection = 
    new SqlConnection(@"Data Source=localhost\SQLEXPRESS;Initial Catalog=Example"); 

// Idealy you wouldnt pass direct SQL text for injection reasons etc, but 
// for example sake I will enter a simple query to get some dates from a table. 
// Notice the command object takes our connection object... 
SqlCommand command = new SqlCommand("Select [Date] From Dates", connection); 

// Open the connection 
connection.Open(); 

// Execute the command 
SqlDataReader reader = command.ExecuteReader(); 

// A list of dates to store our selected dates... 
List<DateTime> dates = new List<DateTime>(); 

// While the SqlDataReader is reading, add the date to the list. 
while (reader.Read()) 
{ 
    dates.Add(reader.GetDateTime(0)); 
} 

// Close the connection! 
connection.Close(); 

// Use the selected dates property of the ASP.NET calendar control, add every 
// date that we read from the database... 
foreach (DateTime date in dates) 
{ 
    Calendar1.SelectedDates.Add(date); 
} 

Успехов!

1

Незнайка, если это какой-либо помощи, но CodeProject кажется, есть некоторые аналогичное решение

+0

Спасибо. Я застрял в чтении их примера – RocketGoal

0

Я бы рекомендовал найти пару бесплатных приложений с открытым исходным кодом и посмотреть их схемы.

MojoPortal и DotNetNuke Events оба выглядят как у них есть календарные части.

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

0

Похоже, что кто-то уже задал этот вопрос. Laying out a database schema for a calendar application

Одно из советов заключается в использовании целочисленных полей вместо полей даты и времени. Они будут работать быстрее. Также не бойтесь денормализовать свои таблицы. Таким образом, у вас может быть столбец «Дата», «Столбец года», «Столбец месяца» и «День».