① 有一個「學生—課程」資料庫資料庫中包括三個表
MB最大尺寸為2MB增長速度為1mb數據
② 有一個「學生-課程」資料庫,資料庫中包括三個表:
1、創建「學生-課程」資料庫:將數據文件和日誌文件都存放在D盤自已學號的目錄下。其中數據文件和日誌文件初始大小都為1MB,自動增長率都為10%。
create database MyDB
on(
name='Student-SC',
filename='d:\自己學號\Student-SC.mdf',
size=1,filegrowth=10%)
log on
(name='Student-SClog',
filename='d:\自己學號\Student-SClog.ldf',
size=1,filegrowth=10%)
go
2、在「學生-課程」資料庫創建「學生」表,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成,其中學號設為主鍵約束,性別設置檢查性約束。
use Student-SC
create table Student
(Sno char(5) primary key,
Sname varchar(20),
Ssex varchar(2),
Sage tinyint,
Sdept varchar(30),
check(Ssex in('男','女')))
go
3、查詢「學生」表中全體學生的學號與姓名
select Sno,Sname from Student
4、查詢年齡在20至23歲之間的學生的姓名、所在系和年齡
select Ssex,Sdept,Sage from Student where Sage between 20 and 23
5、 查所有姓劉的學生的姓名、學號和性別
select Sname,Sno,Ssex from Student where Sname like '劉%'
6、 查詢「學生選課」表中成績最高和成績最低的記錄,要求顯示學號(Sno)、課程號(Cno)、成績(Grade)三個屬性
select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)
7、使用內部聯接查詢並顯示所有選修課程的同學的學號(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)、所在系(Sdept)、課程號(Cno)、成績(Grade)屬性
select SC.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade from SC inner join Student on SC.Sno=Student.Sno
8、向「學生」表中插入如下記錄:學號:』04160』、姓名:』王燕』、性別 :』女』、年齡:22、所在系: 』計算機科學系』
insert into Student values('04160','王燕','女',22,'計算機科學系')
9、將計算機科學系全體學生的成績置零
update SC set Grade=0 where exists(select Sno,Sdept from Student where Student.Sno=SC.Sno and Student.Sdept='計算機科學系')
10、在「學生」表中,刪除學號為』04160』同學的記錄
delete from Student where Sno='04160'
③ 1.創建一個名為「學生管理」的資料庫。 2.創建一個「學生檔案」數據表,欄位包括:學號、姓名、性別、出
通過Bai Hi通知我
有時間可能完成你所面臨的任務
一樣的要求也可能通知我
*.創建一個名專為「學生管理」屬的資料庫。 *.創建一個「學...
ES:\\
④ 使用SQL語句創建學生成績資料庫db_Stu,該資料庫有一個主資料庫文件(』F:\ db_Stu.mdf')和事務日誌(』F:
有個問題 剛好符合你的要求:
問題:
當前目錄下的Example.mdb資料庫(這個是Access資料庫)中,內含一個數據表student,有三個欄位:學號、姓名、密碼,並有如干記錄。連接串為string connStr="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("Example.mdb"),資料庫對象不是SQL,而是Access,採用OleDb,即將對象前SQL換成OleDb。
1、編寫一段程序,將student中的數據在DataGridl中顯示出來。
2、編寫一段程序,將學號、姓名、密碼分別為0001,張山,abcd的學生記錄插入到student中。
3、編寫一段程序,判斷資料庫中是否存在學號為「01」、口令為「1234」的學生。
首先連接資料庫(這里的鏈接字元串是在配置文件中)
static string connectionString = ConfigurationManager.ConnectionStrings["dbConnectionString"].ConnectionString;
private OleDbConnection connection;
public OleDbConnection Connection {
get{
if (connection == null){
connection = new OleDbConnection(connectionString);}
else if (connection.State == System.Data.ConnectionState.Closed) //關閉
{
connection.Open();}
else if (connection.State == System.Data.ConnectionState.Broken) //中斷
{connection.Close();
connection.Open();}
return connection;
}
}
然後是執行查詢語句和插入語句的方法;
/// <summary>
/// 執行SQL語句,返回影響的記錄數
/// </summary>
/// <param name="SQLString">SQL語句</param>
/// <returns>影響的記錄數</returns>
public static int ExecuteSql(string SQLString, params OleDbParameter[] cmdParms)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;
}
catch (System.Data.OleDb.OleDbException E)
{
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 執行查詢語句,返回OleDbDataReader
/// </summary>
/// <param name="strSQL">查詢語句</param>
/// <returns>OleDbDataReader</returns>
public static OleDbDataReader ExecuteReader(string strSQL)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
try
{
connection.Open();
OleDbDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
}
下面是查詢方法和插入方法
(由於時間問題,你把資料庫欄位都換成你自己的,我這里就不換了)
/// <summary>
/// 增加一條數據
/// </summary>
public int Add()
{
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into [student](");
strSql.Append("[stNum],[Name],[Psd])");
strSql.Append(" values (");
strSql.Append("@stNum,@Name,@Psd)");
OleDbParameter[] parameters = {
new OleDbParameter("@stNum", OleDbType.VarChar,50),
new OleDbParameter("@Name", OleDbType.VarChar),
new OleDbParameter("@Psd", OleDbType.VarChar,50)};
parameters[0].Value = "0001";
parameters[1].Value = "張山";
parameters[2].Value = 「abcd」;
int num=ExecuteCommand(strSql.ToString(),parameters);
return num;
}
/// <summary>
/// 得到所有對象
/// </summary>
/// <returns></returns>
public IList<Student> GetAll()
{
IList<Student> modelList = new List<Student>();
string sqlStr = "select * from [student] ORDER BY [Id] DESC";
using (OleDbDataReader reader = DbHelperOleDb.ExecuteReader(sqlStr))
{
while (reader.Read())
{
Student model = new Student();
if (reader["Id"].ToString() != "")
{
model.Id = int.Parse(reader["Id"].ToString());
}
model.stNum = reader["stNum"].ToString();
model.Name = reader["Name"].ToString();
model.Psd = reader["Psd"].ToString();
modelList.Add(model);
}
}
return modelList;
}
頁面調用添加方法就可以添加一條記錄了
下面市頁面綁定數據
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataBindGV();
}
}
public void DataBindGV()
{
//GetAll()方法我是放在Student類裡面的
gvStudentList.DataSource = new sutdent().GetAll();
gvStudentList.DataBind();
}
頁面DataGrid的代碼如下
<asp:GridView ID="gvStudentList" runat="server" BorderWidth="0px" BackColor="#999999"
CellPadding="1" CellSpacing="1" Width="100%"
AutoGenerateColumns="False">
<EmptyDataTemplate>
沒有資料!
</EmptyDataTemplate>
<HeaderStyle Height="20px" BackColor="#CCCCCC" />
<FooterStyle />
<RowStyle BackColor="#fafafa" Height="20px" />
<EmptyDataRowStyle BackColor="#ffffff" />
<SelectedRowStyle />
<Columns>
<asp:BoundField DataField="Title" HeaderText="學號" SortExpression="stNum">
<ItemStyle Width="170px" />
</asp:BoundField>
<asp:TemplateField HeaderText="名稱" SortExpression="Name">
<ItemTemplate>
<%#Eval("Name")) %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="密碼" SortExpression="Psd">
<ItemTemplate>
<%#Eval("Psd") %>
</ItemTemplate>
<ItemStyle Width="90px" />
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#eeeeee" BorderWidth="0" />
</asp:GridView>
關於第3個,只需把GetAll()方法的查詢語句換一下就行了,換成如下語句:
select * from [student] where [stNum]='01' and [Psd]='1234'
然後再查詢,根據查詢的結果List判斷是否存在,當然你也可以執行
select count(1) from [student] where [stNum]='01' and [Psd]='1234'
判斷返回的數是否大於零就行了,當然這個查詢要另外的查詢語句才行用上面的查詢方法不行了,需要執行ExecuteScalar()了,自己弄吧,很簡單的
如此你的問題全都解決了