cmd = new SqlCommand(
"SELECT ProductID, ProductName From Products WHERE ProductID=@ProductID", сn);
par = cmd.Parameters.Add (new SqlParameter ("@ProductID", SqlDbType.Int));
Console.WriteLine("\n{0,-36}{1}", "Product","Quantity");
foreach (DictionaryEntry en in idQuant)
{
par.Value = (int)en.Key;
reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0,2}. {1,-35}{2,2}",
reader.GetInt32(0),reader.GetString(1), en.Value);
}
reader.Close();
}
Интересно сравнить результаты, полученные на последнем шаге, с теми, которые получены путем вызова хранимой процедуры CustOrderHist. Они должны быть идентичными.
Следующие фрагменты показывают как пользоваться объектами класса SqlTransaction.
SqlConnection cn = new SqlConnection(sCon);
SqlTransaction trans = null;
try
{
cn.Open();
trans = cn.BeginTransaction();
SqlCommand cmd = new SqlCommand("Insert into Tableame VALUES ('Rick')", cn);
cmd.ExecuteNonQuery();
trans.Commit();
}
catch
{
if (trans != null)
trans.Abort();
}
finally
{
if( cn.State == ConnectionState.Open )
cn.Close();
}
Попробуйте создать новую таблицу с помощью кода. Команда SQL имеет приблизительно такой вид.
CREATE TABLE TZ (
id int IDENTITY(1,1)PRIMARY KEY,
name varchar(20) NOT NULL)
INSERT TZ VALUES ('Lisa')
INSERT TZ VALUES ('Mike')
INSERT TZ VALUES ('Clara')
SELECT * FROM TZ
При работе с источниками данных SQL Server Express в Visual Studio 2005 вам может понадобиться установить сами базы. Попробуйте воспользоваться такими командами (их надо дать из командной строки, с точностью до диска).
D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>sqlcmd -E -S (local)\SQLExpress -i InstNwnd.sql
Рассматриваемая команда должна установить базу NorthWind.mdf. Другие—устанавливаются аналогичными командами, например, известная база Pubs.mdf устанавливается командой:
sqlcmd -E -S (local)\SQLExpress -i InstPubs.sql
Команду нужно отдать в директории Data, где располагаются все остальные базы SQL Server. Доступ к базам обеспечивается такими командами:
D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>
sqlcmd -E -S (local)\SQLExpress -d NorthWind –Q "sp_grantdbaccess 'NT AUTHORITY\NETWORK SERVICE'"
D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>
sqlcmd -E -S (local)\SQLExpress -d NorthWind -Q "sp_addrolemember 'db_owner', 'NT AUTHORITY\NETWORK SERVICE'"
или для базы ASPNETDB:
D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>
sqlcmd -E -S (local)\SQLExpress -d ASPNETDB –Q "sp_grantdbaccess 'NT AUTHORITY\NETWORK SERVICE'"
D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>
sqlcmd -E -S (local)\SQLExpress -d ASPNETDB -Q "sp_addrolemember 'db_owner', 'NT AUTHORITY\NETWORK SERVICE'"
Разработайте приложение для управления данными, имеющее примерно такой вид:
Для этого создайте базу данных, схема которой имеет примерно такой вид:
Важно, чтобы в базе было не менее трех связанных таблиц и поля с изображениями или музыкой (BLOB-поля, что означает — Binary Large Objects). При навигации по главной таблице (Teams) второй DataGridView демонстрирует выборку из данных подчиненной таблицы (Players), которые связаны с первой. Третий DataGridView отслеживает перемещение по строкам второго, а следовательно, и первого (так как второй связан с первым). Пользуйтесь документом 2005 DataGridView (Task).
В задании вам придется работать с картинками (блоками двоичных данных). Картинки (растровые изображения), звук и другие большие массивы двоичных данных хранятся в базе в виде массивов байт (поля типа byte[]), их обычно называют BLOB-поля (Binary Large Objects Fields). В этом задании вам понадобится довольно хитрый синхронизатор текущей позиции.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.