ASP.NET教程之C#收集使用编程基本实习题与谜底(八)...
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。编程|收集 1.利用坚持毗连的体例编写程序,盘算各年级均匀成就,并显现了局。【解答】
<P> usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace习题8_6_1
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
//增加Button按钮在ListBox中显现了局
privatevoidbutton1_Click(objectsender,EventArgse)
{
listBox1.Items.Add("年级均匀成就");
stringconnectionString=Properties.Settings.Default.MyDatabaseConnectionString;
//依据毗连字符串创立SqlConnection实例
SqlConnectionconn=newSqlConnection(connectionString);
//创立SqlCommand实例,并设置SQL语句和利用的毗连实例
SqlCommandcmd=newSqlCommand();
cmd.CommandText="selectsubstring(学号,1,2)as年级,avg(成就)as均匀成就fromMyTable2groupbysubstring(学号,1,2)";
cmd.Connection=conn;
try
{
conn.Open();
SqlDataReaderr=cmd.ExecuteReader();
while(r.Read()==true)
{
listBox1.Items.Add(string.Format("{0}级{1}",r,r));
}
r.Close();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message,"盘算成就失利");
}
finally
{
conn.Close();
}
}
}
}
2.利用坚持毗连的体例编写程序,查询MyTable2中不合格先生的学号,姓名,性别,成就。并将了局在ListBox中显现出来。
【解答】
<P> usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace习题8_6_2
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
listBox1.Items.Add("学号姓名性别成就");
stringconnectionString=Properties.Settings.Default.MyDatabaseConnectionString;
//依据毗连字符串创立SqlConnection实例
SqlConnectionconn=newSqlConnection(connectionString);
//创立SqlCommand实例,并设置SQL语句和利用的毗连实例
SqlCommandcmd=newSqlCommand();
cmd.CommandText=
"Select学号,姓名,性别,成就FromMyTable2Where(成就<60)";
cmd.Connection=conn;
try
{
conn.Open();
SqlDataReaderr=cmd.ExecuteReader();
while(r.Read()==true)
{
listBox1.Items.Add(string.Format("{0}{1}{2}{3}",r,r,r,r));
}
r.Close();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message,"查询成就失利");
}
finally
{
conn.Close();
}
}
}
}
3.编写程序,以“[编码]称号”的款式在comboBox1中显现MyTable1的内容。
【解答】
<P> usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace习题8_6_3
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
stringconnectionString=Properties.Settings.Default.MyDatabaseConnectionString;
//依据毗连字符串创立SqlConnection实例
SqlConnectionconn=newSqlConnection(connectionString);
//创立SqlCommand实例,并设置SQL语句和利用的毗连实例
SqlCommandcmd=newSqlCommand();
cmd.CommandText="Select*FromMyTable1";
cmd.Connection=conn;
try
{
conn.Open();
SqlDataReaderr=cmd.ExecuteReader();
while(r.Read()==true)
{
comboBox1.Items.Add(string.Format("[{0}]{1}",r,r));
}
comboBox1.SelectedIndex=0;
r.Close();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message,"显现数据失利");
}
finally
{
conn.Close();
}
}
}
}
4.在画线处填上符合的内容,使程序变得准确完全。
<P> stringconnString="server=localhost;IntegratedSecurity=SSPI;database=pubs";
SqlConnectionconn=____________________________
stringstrsql="select*fromMyTable2";
SqlDataAdapteradapter=newSqlDataAdapter(_____________);
dataset=newDataSet();
adapter.Fill(________________,"MyTable2");
this.dataGridView1.DataSource=dataset.Tables["MyTable2"];
【解答】
<P> stringconnString="server=localhost;IntegratedSecurity=SSPI;database=pubs";
SqlConnectionconn=newSqlConnection(Properties.Settings.Default.MyDatabaseConnectionString);
stringstrsql="select*fromMyTable2";
SqlDataAdapteradapter=newSqlDataAdapter(conn);
dataset=newDataSet();
adapter.Fill(dataset,"MyTable2");
this.dataGridView1.DataSource=dataset.Tables["MyTable2"];
5.已知数据库中界说了一张person表,表的数据布局以下:
字段称号字段范例字段寄义
id数字编号
xm文本姓名
xb文个性别
nl数字岁数
zip文本邮政编码
用编写代码的办法在DataGridView中显现该数据表中岁数年夜于18的一切记录,显现时以编号的升序排序,请求克制用户编纂数据。
【解答】
<P> usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace习题8_6_5
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringconnectionstring=Properties.Settings.Default.MyDatabaseConnectionString;
SqlConnectionconn=newSqlConnection(connectionstring);
try
{
conn.Open();
SqlDataAdapteradapter=newSqlDataAdapter(
"selectid,xm,xb,nlfrompersonwherenl>18orderbyid",conn);
DataSetdataset=newDataSet();
//假如不指定表名,则体系主动天生一个默许的表名
adapter.Fill(dataset,"person");
//可使用索引援用天生的表
dataGridView1.DataSource=dataset.Tables["person"];
adapter.Dispose();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message);
}
finally
{
conn.Close();
}
}
privatevoidForm1_Load(objectsender,EventArgse)
{
//不同意用户间接在最上面的行增加新行
dataGridView1.AllowUserToAddRows=false;
//不同意用户间接按Delete键删除行
dataGridView1.AllowUserToDeleteRows=false;
}
}
}
6.例8-18的存储历程界说中,将“@surnamenvarchar(2),”改成“@surnamenchar(2),”,是不是仍旧可以失掉准确了局,为何?
【解答】
纷歧定。由于假如传送的参数值为“王”,在存储过程当中会主动变成“王”。
7.挪用存储历程,计划程序完成以下功效:恣意给出一个汉字,统计MyTable2中一切包括该汉字的人数,并显现统计了局。
【解答】
<P> usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace习题8_6_7
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
SqlConnectionconn=
newSqlConnection(Properties.Settings.Default.MyDatabaseConnectionString);
SqlCommandcmd=newSqlCommand();
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(Exceptionerr)
{
MessageBox.Show(err.Message);
}
finally
{
conn.Close();
}
}
}
}在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 那么,ASP.Net有哪些改进呢? 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
页:
[1]