熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#高級編程:給數據庫添加會議數據[1]

2013-11-13 10:48:08  來源: .NET編程 
    ——此文章摘自《C#高級編程(第版)》定價元 特價元 購買

    submitButton_Click()事件處理程序目前從會議特性中組合了一個字符串並在 reulstLabel控件中顯示它要給數據庫添加一個會議需要把創建出來的字符串重新格式化到一個SQL INSERT查詢中並執行它

    注意為了把數據寫入Access數據庫ASPNET用戶(在默認情況下運行ASPNET進程的賬戶)必須明確地擁有文件的寫入許可這可以使用Windows資源管理器來賦予在比較高級的場合下可以使用其他賬戶訪問資源例如域賬戶用於訪問網絡上其他地方的SQL Server實例在ASPNET中有這個功能(通過模擬COM+服務或其他方式實現)但它超出了本書的范圍

    下面的許多代碼都是很熟悉的
         protected void submitButton_Click(object sender SystemEventArgs e)
         {
            if (thisIsValid)
            {
               String attendees = ;
               foreach (ListItem attendee in attendeeListItems)
               {
                  if (attendeeSelected)
                  {
                     attendees += attendeeText + ( + attendeeValue + ) ;
                  }
               }
               attendees += and + nameBoxText;
               String dateString =
                          calendarSelectedDateDateDateToShortDateString();
               String oleDbCommand = INSERT INTO Events (Name Room +
                                     AttendeeList EventDate) VALUES ( +
                                     eventBoxText + +
                                     roomListSelectedItemValue + +
                                     attendees + + dateString + );

    創建了SQL查詢字符串後就可以使用它構建OleDbOleDbCommand對象了
               SystemDataOleDbOleDbCommand insertCommand =
                              new SystemDataOleDbOleDbCommand(oleDbCommand
                                                                 oleDbConnection);

    接著重新打開在Page_Load()中斷開的連接(這可能不是最高效的方式但很適合於演示)執行查詢
                oleDbConnectionOpen();
                int queryResult = insertCommandExecuteNonQuery();

    ExecuteNonQuery()返回一個整數表示查詢會影響表中的多少行如果它等於插入就是成功的此時如果把一個成功的信息放在resultLabel中執行一個新查詢用會議的新列表重新填充eventTable和數據集(首先清除數據集中的數據否則會議日期就會重疊)把日歷選擇改為一個新的沒有會議的日期
                if (queryResult == )
                {
                   resultLabelText = Event Added;
                   daEvents = new SystemDataOleDbOleDbDataAdapter(
                                  SELECT * FROM Events oleDbConnection);
                   dsClear();

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/14532.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.