国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C#網絡應用編程基礎練習題與答案(八)

2024-07-21 02:28:21
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!

  1. 使用保持連接的方式編寫程序,計算各年級平均成績,并顯示結果。

  【解答】

  using system;
  using system.collections.generic;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.text;
  using system.windows.forms;
  using system.data.sqlclient;
  namespace 習題8_6_1
  {
  public partial class form1 : form
  {
  public form1()
  {
  initializecomponent();
  }
  //添加button按鈕在listbox中顯示結果
  private void button1_click(object sender, eventargs e)
  {
  listbox1.items.add("年級 平均成績");
  string connectionstring = properties.settings.default.mydatabaseconnectionstring;
  //根據連接字符串創建sqlconnection實例
  sqlconnection conn = new sqlconnection(connectionstring);
  //創建sqlcommand實例,并設置sql語句和使用的連接實例
  sqlcommand cmd = new sqlcommand();
  cmd.commandtext = "select substring(學號,1,2) as 年級,avg(成績) as 平均成績 from mytable2 group by substring(學號,1,2)";
  cmd.connection = conn;
  try
  {
  conn.open();
  sqldatareader r = cmd.executereader();
  while (r.read() == true)
  {
  listbox1.items.add(string.format("{0}級 {1}", r[0], r[1]));
  }
  r.close();
  }
  catch (exception err)
  {
  messagebox.show(err.message, "計算成績失敗");
  }
  finally
  {
  conn.close();
  }
  }
  }
  }

  2. 使用保持連接的方式編寫程序,查詢mytable2中不及格學生的學號,姓名,性別,成績。并將結果在listbox中顯示出來。

  【解答】

  using system;
  using system.collections.generic;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.text;
  using system.windows.forms;
  using system.data.sqlclient;
  namespace 習題8_6_2
  {
  public partial class form1 : form
  {
  public form1()
  {
  initializecomponent();
  }
  private void button1_click(object sender, eventargs e)
  {
  listbox1.items.add(" 學號 姓名 性別 成績");
  string connectionstring = properties.settings.default.mydatabaseconnectionstring;
  //根據連接字符串創建sqlconnection實例
  sqlconnection conn = new sqlconnection(connectionstring);
  //創建sqlcommand實例,并設置sql語句和使用的連接實例
  sqlcommand cmd = new sqlcommand();
  cmd.commandtext =
  "select 學號,姓名,性別, 成績 from mytable2 where (成績<60)";
  cmd.connection = conn;
  try
  {
  conn.open();
  sqldatareader r = cmd.executereader();
  while (r.read() == true)
  {
  listbox1.items.add( string.format("{0} {1} {2} {3}", r[0], r[1], r[2], r[3]));
  }
  r.close();
  }
  catch (exception err)
  {
  messagebox.show(err.message, "查詢成績失敗");
  }
  finally
  {
  conn.close();
  }
  }
  }
  }

  3. 編寫程序,以“[編碼]名稱”的樣式在combobox1中顯示mytable1的內容。

  【解答】

  using system;
  using system.collections.generic;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.text;
  using system.windows.forms;
  using system.data.sqlclient;
  namespace 習題8_6_3
  {
  public partial class form1 : form
  {
  public form1()
  {
  initializecomponent();
  }
  private void form1_load(object sender, eventargs e)
  {
  string connectionstring = properties.settings.default.mydatabaseconnectionstring;
  //根據連接字符串創建sqlconnection實例
  sqlconnection conn = new sqlconnection(connectionstring);
  //創建sqlcommand實例,并設置sql語句和使用的連接實例
  sqlcommand cmd = new sqlcommand();
  cmd.commandtext = "select * from mytable1";
  cmd.connection = conn;
  try
  {
  conn.open();
  sqldatareader r = cmd.executereader();
  while (r.read() == true)
  {
  combobox1.items.add(string.format("[{0}] {1}", r[0], r[1]));
  }
  combobox1.selectedindex = 0;
  r.close();
  }
  catch (exception err)
  {
  messagebox.show(err.message, "顯示數據失敗");
  }
  finally
  {
  conn.close();
  }
  }
  }
  }

  4. 在畫線處填上合適的內容,使程序變得正確完整。

  string connstring="server=localhost;integrated security=sspi;database=pubs";
  sqlconnection conn=____________________________
  string strsql="select * from mytable2";
  sqldataadapter adapter=new sqldataadapter(_____________);
  dataset=new dataset();
  adapter.fill(________________,"mytable2");
  this.datagridview1.datasource=dataset.tables["mytable2"];

  【解答】

  string connstring="server=localhost;integrated security=sspi;database=pubs";
  sqlconnection conn= new sqlconnection(properties.settings.default.mydatabaseconnectionstring);
  string strsql="select * from mytable2";
  sqldataadapter adapter=new sqldataadapter(conn);
  dataset=new dataset();
  adapter.fill(dataset,"mytable2");
  this.datagridview1.datasource=dataset.tables["mytable2"];

  5. 已知數據庫中定義了一張person表,表的數據結構如下:

  字段名稱字段類型字段含義

  id數字編號

  xm文本姓名

  xb文本性別

  nl數字年齡

  zip文本郵政編碼

  用編寫代碼的方法在datagridview中顯示該數據表中年齡大于18的所有紀錄,顯示時以編號的升序排序,要求禁止用戶編輯數據。

  【解答】

  using system;
  using system.collections.generic;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.text;
  using system.windows.forms;
  using system.data.sqlclient;
  namespace 習題8_6_5
  {
  public partial class form1 : form
  {
  public form1()
  {
  initializecomponent();
  }
  private void button1_click(object sender, eventargs e)
  {
  string connectionstring = properties.settings.default.mydatabaseconnectionstring ;
  sqlconnection conn = new sqlconnection(connectionstring);
  try
  {
  conn.open();
  sqldataadapter adapter = new sqldataadapter(
  "select id,xm,xb,nl from person where nl > 18 order by id", conn);
  dataset dataset = new dataset();
  //如果不指定表名,則系統自動生成一個默認的表名
  adapter.fill(dataset, "person");
  //可以使用索引引用生成的表
  datagridview1.datasource = dataset.tables["person"];
  adapter.dispose();
  }
  catch (exception err)
  {
  messagebox.show(err.message);
  }
  finally
  {
  conn.close();
  }
  }
  private void form1_load(object sender, eventargs e)
  {
  //不允許用戶直接在最下面的行添加新行
  datagridview1.allowusertoaddrows = false;
  //不允許用戶直接按delete鍵刪除行
  datagridview1.allowusertodeleterows = false;
  }
  }
  }

  6.例8-18的存儲過程定義中,將“@surname nvarchar(2),”改為“@surname nchar(2),”,是否仍然能夠得到正確結果,為什么?

  【解答】

  不一定。因為如果傳遞的參數值為“王”,在存儲過程中會自動變為“王 ”。

  7. 調用存儲過程,設計程序完成下列功能:任意給出一個漢字,統計mytable2中所有包含該漢字的人數,并顯示統計結果。

  【解答】

  using system;
  using system.collections.generic;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.text;
  using system.windows.forms;
  using system.data.sqlclient;
  namespace 習題8_6_7
  {
  public partial class form1 : form
  {
  public form1()
  {
  initializecomponent();
  }
  private void button1_click(object sender, eventargs e)
  {
  sqlconnection conn =
  new sqlconnection(properties.settings.default.mydatabaseconnectionstring);
  sqlcommand cmd = new sqlcommand();
  cmd.connection = conn;
  //設置sql語句為存儲過程名,命令類型為存儲過程
  cmd.commandtext = "selectfilterstudentsnum";
  cmd.commandtype = commandtype.storedprocedure;
  //添加存儲過程中參數需要的初始值,注意參數名要和存儲過程定義的參數名相同
  if( textbox1.text=="")
  {
  messagebox.show("請輸入有效信息","錯誤");
  textbox1.focus();
  return ;
  }
  cmd.parameters.addwithvalue("@surname", textbox1.text);
  cmd.parameters.addwithvalue("@record", 0);
  //指定哪些參數需要返回結果
  cmd.parameters["@record"].direction = parameterdirection.output;
  try
  {
  conn.open();
  //執行存儲過程
  cmd.executenonquery();
  //顯示返回的結果
  messagebox.show(string.format("有{0}條含 {1} 的記錄",
  cmd.parameters["@record"].value,textbox1.text));
  }
  catch (exception err)
  {
  messagebox.show(err.message);
  }
  finally
  {
  conn.close();
  }
  }
  }
  }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 青州市| 昌宁县| 通州市| 灵川县| 阜阳市| 长宁区| 德阳市| 浑源县| 邹城市| 巴塘县| 密云县| 屯门区| 长岭县| 邓州市| 公安县| 柳江县| 长顺县| 襄城县| 汾西县| 精河县| 雷波县| 无极县| 崇左市| 灯塔市| 酒泉市| 嵩明县| 嘉峪关市| 北流市| 宜兰县| 都昌县| 长宁区| 赞皇县| 宁远县| 白城市| 县级市| 北京市| 梧州市| 兴宁市| 北辰区| 乌拉特中旗|