2011-5-19 9:57:36 阅读19 评论0 192011/05 May19
http://wangzecheng125.blog.163.com/
Visual C# 动态操作 SQL Server 数据库实例教程:通用数据访问类(SqlHelper)本文介绍的通用数据库访问类,是本人的个人网站实际使用的一个基类,它是一组通用的访问数据库的代码集,在本人网站对数据库的访问绝大部分都使用这一个类。其主要功能有:
1.判断数据库是否存在?
2.判断数据库表是否存在?
3.判断数据库存储过程是否存在?
4.判断视图是否存在?
5.自动创建数据库
6.自动创建数据库表、存储过程
7.不带参数的 SQL 语句ExecuteNonQuery的执行方法
8.执行一条不返回结果的SqlCommand。通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
9.执行一条不返回结果的SqlCommand。通过一个已经存在的数据库事件处理
10执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理
11.执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。
12.执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
13.执行一条返回第一条记录第一列的SqlCommand命令,通过已经存在的数据库连接。
其代码清单如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Collections;
using System.Data.SqlClient;
///
/// 数据库的通用访问代码
/// 此类为抽象类,不允许实例化,在应用时直接调用即可
///
public abstract class SqlHelper
{
//获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改
public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["MysqldataConnectionString"].ConnectionString;
// 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
///
///判断数据库是否存在
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
///
///
/// 使用示例:
/// bool databaseExist = SqlHelper.CheckExistsDatebase(dataBaseNameStr);
///
///
///
public static bool CheckExistsDatebase(string dataBaseName)
{
string connstring = SqlHelper.ConnectionStringLocalTransaction;
String dataBaseNameStr = "select count(1) From master.dbo.sysdatabases where name='" + dataBaseName + "'";
using (SqlConnection con = new SqlConnection(connstring))
{
con.Open();
SqlCommand cmd = new SqlCommand(dataBaseNameStr, con);
int result = Convert.ToInt32(cmd.ExecuteScalar());
if (result == 0)
{
return false;
}
else
{
return true;
}
}
}
///
///判断数据库表是否存在
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
///
///
/// 使用示例:
/// bool databaseExist = SqlHelper.CheckExistsDatebase(dataBaseNameStr);
///
///
///
public static bool CheckExistsTable(string dataBaseNameStr, string tablename)
{
string connstring = "server=“服务器名”;database='" + dataBaseNameStr + "'" + ";Trusted_Connection=SSPI";
String tableNameStr = "select count(1) from sysobjects where name = '" + tablename + "'";
using (SqlConnection con = new SqlConnection(connstring))
{
con.Open();
SqlCommand cmd = new SqlCommand(tableNameStr, con);
int result = Convert.ToInt32(cmd.ExecuteScalar());
if (result == 0)
{
return false;
}
else
{
return true;
}
}
}
///
///判断数据库存储过程是否存在
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
///
///
/// 使用示例:
/// bool databaseExist = SqlHelper.CheckExistsDatebase(dataBaseNameStr);
///
///
///
///
public static bool CheckExistsProc(string dataBaseNameStr, string procName)
{
string connstring = "server=“服务器名”;database='" + dataBaseNameStr + "'" + ";Trusted_Connection=SSPI";
//String procNameStr = "select count(1) from sysobjects where name = '" + procName + "'";
String procNameStr = "select count(1) from sysobjects where name = '" + procName + "'" + " AND type = 'P'";
using (SqlConnection con = new SqlConnection(connstring))
{
con.Open();
SqlCommand cmd = new SqlCommand(procNameStr, con);
int result = Convert.ToInt32(cmd.ExecuteScalar());
if (result == 0)
{
return false;
//不存在
}
else
{
con.Close();
return true;
//存在
}
}
}
///
///判断视图是否存在
///
///
/// 使用示例:
/// bool databaseExist = SqlHelper.CheckExistsDatebase(dataBaseNameStr);
///
///
///
///
public static bool CheckExistsView(string dataBaseNameStr, string tablename, string ViewName)
{
string connstring = "server=“服务器名”;database='" + dataBaseNameStr + "'" + ";Trusted_Connection=SSPI";
String viewNameStr = "select count(1) from sysobjects where name = '" + ViewName + "'" + " AND type = 'V'";
using (SqlConnection con = new SqlConnection(connstring))
{
con.Open();
SqlCommand cmd = new SqlCommand(viewNameStr, con);
int result = Convert.ToInt32(cmd.ExecuteScalar());
if (result == 0)
{
return false;
//不存在
}
else
{
con.Close();
return true;
//存在
}
}
}
///
///调用ExecuteNonQuery()执行 创建数据库
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
///
///
/// 使用示例:
/// SqlHelper.CreateSqlDatabase(connstring, "master", CreateStr);
///
///
///
///
///
public static bool CreateSqlDatabase(string connstring, string DatabaseName, string CreateStr)
{
//
using (SqlConnection conn = new System.Data.SqlClient.SqlConnection(connstring))
{
SqlCommand Command = new System.Data.SqlClient.SqlCommand(CreateStr, conn);
conn.Open();
Command.Connection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
catch (System.Exception ex)
{
Command.Connection.Close();
throw ex;
}
finally
{
Command.Connection.Close();
}
}
return true;
}
///
///调用ExecuteNonQuery()执行 创建数据库表、存储过程
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
///
///
/// 使用示例:
/// SqlHelper.CreateSqlTable(connstring, TableStr);
///
///
///
///
public static bool CreateSqlTable(string connstring, string CreateStr)
{
//
using (SqlConnection conn = new SqlConnection(connstring))
{
SqlCommand Command = new SqlCommand(CreateStr, conn);
conn.Open();
try
{
Command.ExecuteNonQuery();
return true;
}
catch (System.Exception ex)
{
return false;
}
finally
{
Command.Connection.Close();
}
}
}
///
///不带参数的 SQL 语句ExecuteNonQuery的执行方法
/// 通过指定专用的连接字符串,执行一个不需要返回值的SqlCommand命令。
/// 使用参数数组形式提供参数列表
///
///
/// 使用示例:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
//通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
//清空SqlCommand中的参数列表
cmd.Parameters.Clear();
return val;
}
}
///
///执行一条不返回结果的SqlCommand,通过一个已经存在的数据库连接
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
///
/// 执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
///
/// 执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
// 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在,
//CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。
//关闭数据库连接,并通过throw再次引发捕捉到的异常。
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
///
/// 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection connection = new SqlConnection(connectionString))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
///
/// 执行一条返回第一条记录第一列的SqlCommand命令,通过已经存在的数据库连接。
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
///
///
///
///
///
///
public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
///
/// 缓存参数数组
///
///
///
public static void CacheParameters(string cacheKey, params SqlParameter[] commandParameters)
{
parmCache[cacheKey] = commandParameters;
}
///
/// 获取被缓存的参数
///
///
///
public static SqlParameter[] GetCachedParameters(string cacheKey)
{
SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];
if (cachedParms == null)
return null;
//新建一个参数的克隆列表
SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];
//通过循环为克隆参数列表赋值
for (int i = 0, j = cachedParms.Length; i < j; i++)
//使用clone方法复制参数列表中的参数
clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();
return clonedParms;
}
///
/// 为执行命令准备命令参数
///
///
///
///
///
///
///
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
//判断数据库连接状态
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
//判断是否需要事物处理
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
}
以上代码中,大多数都加了注释,Using除处理对命名空间的引用外,当 Using用“{}”定义一个范围,在语句完成时会自动释放语句内所使用的资源。参数数据的添加由PrepareCommand方法来完成。
2009-3-14 18:35:34 阅读4 评论0 142009/03 Mar14
与程序员教程对应的视频教学http://platform.educity.cn/intro/programer.htm(希赛教育网)
第一章
数据表示及运算
http://www.56.com/u15/v_Mzc5NDI0MzY.html
内容简介:数字及其转换
二进制编码
字符编码
算术运算
逻辑运算;(解释)http://platform.educity.cn/shiting/cxycjlj.htm
校验码
2009-2-4 21:02:53 阅读19 评论2 42009/02 Feb4
【了解自考】
河南省自学考试报名须知
1、报名时间:2009年上半年3月1日至七日,下半年9月15至21日。
2、报名手续:老考生持准考证到报名点报考;新考生持单位介绍信、近期免冠一寸照片2张报名;报考本科专业的考生,须持有专科毕业证或中级以上职称证书原件报名。
3、报名办法:交验证件后,老生领取机读报名卡,新生还需填写报考登记表、准考证等有关内容。
【自学考试报考条件和手续】
一、报名条件
中华人民共和国公民,以及港澳台同胞、海外侨胞,不受性别、年龄、民族、种族、学历、身体健康状况、居住地等限制,均可根据本人的实际情况报考,本着学以致用的原则选择专业,能遵纪守法、接受改造、积极学习的劳改、劳教人员,经有关部门批准后也可申请报考。
二、首次报名手续
首次报考的考生,要持本人身份证或乡以上政府证明(军人凭军人证或团以上单位证明)到户口所在地的市、县自学考试办公室(报名站)办理报名手续。
报名时须按规定缴报名费,填写《报考登记表》或《机读报考卡》,并交一寸同底免冠正面半身近照两张。
首次报考各专业本科的考生,须持相同专业或符合规定的同类专业专科毕业证书办理报名手续。
注意:
1 、自考可在非户口所在地报考。在非户口所在地工作一年以上者,持本人身份证、原单位证明及工作证,经所在省(市)自学考试办公室审查同意后,可就地报考高等教育自学考试。
2 、首次报考不能托人代办。高等教育自学考试的特殊性决定了自考工作在每个环节都要严厉杜绝" 冒名替考" 的可能性,特别对于自考新生首次报考,要求无论工作再忙、路途再远,都要亲自办理,不得由他人代办。
新生填写登记表,规定要本人的笔迹,以便今后与试卷的笔迹相核对。相片也要经考办人员核对后才能贴入表格。
新考生首次报名要建立考生考籍档案。考生报名时要领取" 高等教育自学考试考生登记表" 、" 制证袋" 、" 考籍档案袋".应按要求用钢笔认真、准确填写有关项目,不得涂改。填好后,将照片分别贴在" 登记表" 和" 制证袋" 指定位置上。其余的两张照片装入" 制证袋" 内。考生将报名材料中有关信息输入计算机,建立自己的电子考籍档案。输入时屏幕上提示的准考证一项,可输入12个8字,计算机会自动赋予考生一个准考证号,然后按屏幕提示依次输入。同时将自己首次报考的科目输入微机。考生输入完毕,确认无误后,打印机立即打印出考试通知单和收费票据。考生将" 考籍档案袋" 、" 登记表" 、" 制证袋" 一起交报名处,交费后领取考试通知单和票据,核对无误后方可离开报名现场。
老考生报名,将自己的磁卡准考证在刷卡器上刷卡,屏幕上就会出现考生自己的档案信息,然后按提示依次输入。考生输入完毕,确认无误后,打印机立即打印出考试通知单和收费票据。考生交费后领取考试通知单和票据,核对无误后方可离开报名现场。
三、考试时间
全国高等教育自学考试时间应为一年两次,分别在4 月和10月的最后两个周六、周日. 但是随着全国高等教育自学考试的发展,一年两次无法满足考生的需求,各个省市根据各地不同情况陆续开设了1 月、7 月的考试。报名时间由各地自考办确定。
四、考生可同时报考多各专业
自学考试具有高度的开放性和灵活性,可以照顾到不同文化程度、不同自学能力的考生学习进取的要求,因此,许多省都 允许考生同时报考多个专业. 但考生同时报考两个专业时应量力而行,科学地安排好学习时间和每次应考的课程门数,以免顾此失彼。
五、考生可以同时报考专、本科
参加高等教育自学考试的考生可分别报考专科、本科段各专业,也可同时报考同一专业的专科和本科段,但毕业时必须先取得专科毕业证书后才能领取本科毕业证书(同时取得本、专科专业考试计划规定的全部课程合格成绩的应考者,可同时办理毕业手续)。各类高校专科毕业生报考自学考试本科段,须持本人专科毕业证书原件和复印件,报考规定条件允许的本科段专业。
六、参加自学考试可以改报专业
考生因工作岗位变动、专业不对口等原因确需改报(转)专业的,按照学以致用的原则从严掌握。
申请者应持准考证和课程合格证书,在报名前向所在市自学考试办公室提出申请,经市自学考试办公室签署意见,报省自学考试办公室审批后,方可改报专业. 跨省转考者,在转入省无原报考专业的,经转入省考办同意后,可改报相近专业参加考试。
经全国考委批准停考的专业,在籍考生可改报相近或其他专业。经批准予以改报专业的考生,原准考证注销作废,换发新证。考生原已合格的课程,如与新报专业课程名称相同、要求一致的,可以免考。
七、报考本科段考生应具备的条件
必须为具有国家承认的正式专科学历者方可报考高等教育自学考试本科段。
党校及干部函授大学专科毕业人员,不具备参加本科段考试的资格。
参加本科段考试的考生,应持专科毕业证书和本人身份证到当地该专业的报名点报名。报考与所学专科专业不同的本科,根据专业的不同需要加试相应的课程。
报考本科段的具体规定参见所报专业的开考计划。
八、跨专业考试需要办理的手续
按照《高等教育自学考试考务、考籍管理工作规则》的规定,考生是可以跨专业报考的(对有特殊要求的专业,考生须按有关规定报名,如中医、公安管理等专业)。
跨其他专业考试的考生(包括因专业停考需报考其它专业的考生)不办理新的准考证,只填写" 报考课程卡" ,即可参加另一专业的课程考试. 跨考专业的考生成绩均记录在考籍库准考证号码下,以防止一生多证的现象发生。请考生注意的是:各地原有的考务、考籍管理规则向全国统一的规则过渡时需要一定的时间,在过渡期内仍按原有规则执行。
九、《报考简章》是考生报考的重要依据
高等教育自学考试《报考简章》包括:(一)开考专业、科目和考试时间;(二)报名时间、地点;(三)报考对象和报考手续;(四)毕业及实践环节考核的报名及时间安排;(五)考生应知晓的注意事项等内容。考生通过仔细阅读高等教育自学考试《报考简章》,可以了解每一次考试开设的专业,考试课程的时间安排,各项技能考试的时间安排,引导考生选择适合自己的专业参加考试,避免出现错报、漏报。同时,高等教育自学考试《报考简章》是各级高等教育自学考试机构组织实施考试的依据,也是各种助学单位组织助学辅导的依据,因此,高等教育自学考试《报考简章》是考生报考的重要依据。
五、考生可以同时报考专、本科
参加高等教育自学考试的考生可分别报考专科、本科段各专业,也可同时报考同一专业的专科和本科段,但毕业时必须先取得专科毕业证书后才能领取本科毕业证书(同时取得本、专科专业考试计划规定的全部课程合格成绩的应考者,可同时办理毕业手续)。各类高校专科毕业生报考自学考试本科段,须持本人专科毕业证书原件和复印件,报考规定条件允许的本科段专业。
六、参加自学考试可以改报专业
考生因工作岗位变动、专业不对口等原因确需改报(转)专业的,按照学以致用的原则从严掌握。
申请者应持准考证和课程合格证书,在报名前向所在市自学考试办公室提出申请,经市自学考试办公室签署意见,报省自学考试办公室审批后,方可改报专业. 跨省转考者,在转入省无原报考专业的,经转入省考办同意后,可改报相近专业参加考试。
经全国考委批准停考的专业,在籍考生可改报相近或其他专业。经批准予以改报专业的考生,原准考证注销作废,换发新证。考生原已合格的课程,如与新报专业课程名称相同、要求一致的,可以免考。
七、报考本科段考生应具备的条件
必须为具有国家承认的正式专科学历者方可报考高等教育自学考试本科段。
党校及干部函授大学专科毕业人员,不具备参加本科段考试的资格。
参加本科段考试的考生,应持专科毕业证书和本人身份证到当地该专业的报名点报名。报考与所学专科专业不同的本科,根据专业的不同需要加试相应的课程。
报考本科段的具体规定参见所报专业的开考计划。
八、跨专业考试需要办理的手续
按照《高等教育自学考试考务、考籍管理工作规则》的规定,考生是可以跨专业报考的(对有特殊要求的专业,考生须按有关规定报名,如中医、公安管理等专业)。
跨其他专业考试的考生(包括因专业停考需报考其它专业的考生)不办理新的准考证,只填写" 报考课程卡" ,即可参加另一专业的课程考试. 跨考专业的考生成绩均记录在考籍库准考证号码下,以防止一生多证的现象发生。请考生注意的是:各地原有的考务、考籍管理规则向全国统一的规则过渡时需要一定的时间,在过渡期内仍按原有规则执行。
九、《报考简章》是考生报考的重要依据
高等教育自学考试《报考简章》包括:(一)开考专业、科目和考试时间;(二)报名时间、地点;(三)报考对象和报考手续;(四)毕业及实践环节考核的报名及时间安排;(五)考生应知晓的注意事项等内容。考生通过仔细阅读高等教育自学考试《报考简章》,可以了解每一次考试开设的专业,考试课程的时间安排,各项技能考试的时间安排,引导考生选择适合自己的专业参加考试,避免出现错报、漏报。同时,高等教育自学考试《报考简章》是各级高等教育自学考试机构组织实施考试的依据,也是各种助学单位组织助学辅导的依据,因此,高等教育自学考试《报考简章》是考生报考的重要依据。
报名程序:
第一步: 从考生所在地寻找报考简章,获取自考信息…… [全文]
高等教育自学考试信息获取渠道
各专业考试计划、课程自学考试大纲是自学考试的规定性文件,均由国家或省级自学考试机构统一制定、编印、公布,其它任何单位未经授权均不得翻印出版;考生可在当地自学考试办公室订购,或直接到省自学考试办公室的教材发行部门购买。
自考教材可根据专业考试计划或各省自学考试报刊所提供的必读教材目录,到当地自学考试机构订购或直接到新华书店购买;部分用书经国家或省级自学考试机构授权主考学校 编印出版的,考生也可与有关学校联系购买,由于目前公开出版的教材版本种类较多.教材内容更新较快,考生自行购买教材时应注意选购自学考试机构指定的教材版本,以免造成教材内容与大纲、考试内容相脱节,影响学习和考试
第二步:查明自己是否符合报考条件,需要办理什么程序,然后选择合适的专业
第三步: (首次报名)要持本人身份证或相关证明到所在地的市、县自学考试办公室(报名站)办理报名手续…… [全文]
具体报名办法是:
1、首次报名的应考者,必须持居民(军人)身份证或工作证、户口簿到市教育考试院或自学考试办公室指定的报名点报名。交近半年内同一底版的一寸正面半身免冠照片两张。报考委托开考的专业,到当地业务主管部门。
2、非首次报名的应考者,必须持IC卡准考证报名;未持有IC卡准考证的应考者,须持原准考证与近半年内同一底版的一寸正面半身免冠照片两张,到报名点办理IC卡准考证手续。
3、考生可分别报考高等教育专科、本科段各专业,也可同时报考高等教育同一专业的专科和本科段,但毕业时必须先取得专科毕业证书后才能领取本科毕业证书(同时取得本、专科专业考试计划规定的全部课程合格成绩的应考者,可同时办理毕业手续)。各类高校专科毕业生报考高等教育自学考试本科段的应考者,须持本人专科毕业证书原件和复印件,报考规定条件允许的本科段专业。
4、国家承认学历的各类高等学校的研究生、本科、专科毕业生参加高等教育自学考试第二专业考试,均可按规定免考已学过的成绩合格的部分课程,办理课程免考的考生,必须取得一科以上合格成绩,免考课程手续在报名期间办理。
5、因户口迁移或工作变动需要转移外省参加考试的考生,须办理转考手续;本省间转移地区考试的考生,不再办理转考手续,可直接在应试地区报名、考试,但必须提前申请办理合档手续,毕业登记期间不办理合档手续。
6、考生按专业分课程报考,每次考试最多可报考一个专业开考课程的四科。面向社会开考专业的考生,报考本科者,每科次缴纳报名费5元、考务费12元;报考专科者,每科次缴纳报名费5元、考务费10元。报考委托开考各专业(含本科、专科)的考生,每科次缴纳报名费5元,考务费由委托开考部门按规定抽省考试院支付。报考英语听说、论文答辩、毕业综合考试、课程设计等项实践性环节考核的考生,除各按一门课程缴纳报名费5元外,还需按规定向主考院校或专业指导学校缴纳实践环节考核费。
7、部门委托开考专业的考生必须分别由各市业务部门向当地教育考试院或自学考试办公室集体报名。上述各项收费,缺考者一律不退。
第四步:如果是老生报名或网上报名,请留意各地招考办公室的通知或说明
第五步:填写相应表格和报名材料
第六步:确认报名材料全部完毕,并且得到招考办公室的报名确认文件。
【高等教育自学考试免考对象和办理手续】
免考对象:
一、课程免考的对象
国家承认学历的各类高等学校的研究生、本科和专科毕业生以及自学考试毕业生报考自学考试第二专业,均可按规定免考已学过且考试成绩合格的部分课程。
二、报考同一学历层次第二专业的免考
专科以上毕业生报考自学考试专科(段)专业,或本科及以上毕业生报考自学考试本科(段)专业,可 免考已学过且考试成绩合格的名称和要求相同(或较低)的课程.其中非自学考试毕业生报考相近专业的,免考课程 不超过一半.
三、报考高一学历层次专业的免考
专科毕业生报考自学考试本科(段)专业(即专升本),可免考已学过且成绩合格的公共政治课(同类课程可互相代替,如" 中国革命史" 可代替" 毛泽东思想概论" )。其中自学考试专科毕业生还可以免考本、专科段)中课程代号完全相同的课程。
四、部分专业毕业生可免考课程
专科及以上毕业生报考自学考试本科(段)或专科(段)专业,可 免考本、专科(段)中以原学专业基础知识所组成的课程,如数学专业毕业生可免考" 高等数学" 、" 线性代表" 等数学类课程;英语专业毕业生可免考非英语类专业的公共英语等课程;物理专业毕业生可免考" 物理" 或" 普通物理" 等课程;计算机类专业毕业生可免考非计算机类专业的" 计算机应用基础" 、" 管理系统中计算机应用" 、" 计算机软件基础" 等课程,中文类专业毕业生可免考中文类专业的" 大学语文""应用文写作" 等中文类课程;等等。
高等教育自学考试免考课程
获得有关证书者可免考如下相应课程
1.获得全国公共英语等级考试三级及以上证书(或笔试部分成绩合格),或大学英语四级及以上证书者,可免考非英语类专业本、专科(段)中的公共英语课程。
2.获得全国公共英语等级考试二级及以上证书(或笔试部分成绩合格)者,可免考非 英语类专业专科(段)中的公共英语课程。
3.获得全国计算机等级考试一级(含一级B )及以上证书者,或获得全国NIT 《计算机操作基础(WINDOSW95 )》模块及其他任一模块者(共两个模块),可免考非计算机类专业的本、专科(段)中的" 计算机应用基础" 课程。
4.获得全国计算机等级考试二级以上证书者,或获得全国NIT 《管理系统中信息技术的应用》模块证书者可免考非计算机类专业的" 管理系统中计算机应用" 等课程。
5.获得全国NIT 《计算机操作基础win-dows95)》和《文字处理(word97)》两个模块证书者可免考计算机信息管理专业(专科段)的" 计算机应用技术" 课程。
6.经劳动行政部门考核获得中级及以上职业资格证书者,可免考农村自考实验区中相应专业的综合实践技术能考核。
高等教育自学考试免考申请程序及要求
要求免考部分课程的考生,应在规定的报名时间内向所在的市、县(区)自学考试办公室(以下简称考办)提出申请,填写《课程免考申请表》一份,并提供下列材料。
1.原毕业学校或自学考试毕业证原件及复印件一份。
当年普通高校的应届本科或专科毕业生(最后一学年)可提供学校教务处证明(原件一 份)。
2.原毕业学校的学籍卡复印件一份,并加盖学校教务处公章(红印);或者将本人人事档案中的学籍卡复印一份,并加盖本人人事关系主管单位的组织、人事部门的公章(红印)。
学籍卡应含有每学期所学的课程、学分、学时、考试类型、考试成绩等内容。学籍卡上如有更改记录,应由原毕业学校教务处在复印件上更正之处加盖公章(红印),并由经办人签名。
自学考试毕业生只需提供本人《毕业生登记表》中成绩栏部分的复印件一份即可。
高等教育自学考试具体免考课程
公共政治课、公共基础课、专业基础课、专业课.
公共政治课:马克思主义哲学原理、邓小平理论概论、法律基础与思想道德修养、毛泽东思想概论、马克思主义政治经济学原理。
公共基础课:大学语文(专)、大学语文(本)、英语(一)、英语(二)、高等数学(工专) 、高等数学(工本)、高等数学(一)、高等数学(二)、线性代数、概率论与数理统计、复变函数与积分变换、物理(工)、计算机应用基础。
1 、公共政治课的免考考生在专科及专科以上的各类高校其间确已学过且考试成绩合格的公共政治课,可以免考相同名称的公共政治课。
①已学过" 哲学" 或" 辨证唯物主义和历史唯物主义" 且考试成绩合格的可以免考" 马克思主义哲学原理" ;
②已学过" 政治经济学" 且考试成绩合格的可免考" 马克思主义政治经济学原理".
2、公共基础课的免考
①数学专业专科及以上毕业生,可免考自学考试专科和本科的高等数学课程;各类专业专科毕业生高等数学合格的,可免考除" 高等数学(工本)" 之外的的已学过且考试成绩合格相同名称的高等数学课程(免考" 高等数学(二)" 必须有相应的" 线性代数" 和" 概率论与数理统计" 两门课程的考试合格成绩);各类专业本科毕业生可免考已学过且成绩合格相同名称的高等数学课程。
②汉语言文学、新闻学、秘书及相近专业专科及以上毕业生可免考" 大学语文(专)" 、" 大
学语文(本)" ;专科及以上毕业生已学过" 大学语文" 课程且考试成绩合格的可免考" 大学语文(专)" 、" 大学语文(本)" 课程。
③各类外语专业专科及以上毕业生可免考" 英语(一)" 、外语专业本科及以上毕业生可免考" 英语(二)" 课程;各类专科毕业生已学过" 英语课程" 且考试成绩合格可免考" 英语(一)" 、"英语(二)" 课程;取得全国公共英语等级考试(PETS)三级及以上证书者,可免考" 英语(二)" 课程;取得全国公共英语等级考试(PETS)二级以上考试证书者,可免考" 英语(一)" 课程。
④各类计算机专业专科及以上毕业生可免考" 计算机应用基础" 课程;专科及以上毕业生已学过" 计算机应用基础" 且考试成绩合格者可免考" 计算机应用基础" 课程;取得全国计算机等级考试一级及以上证书者,或获得全国计算机应用技术证书考试(NIT )" 计算机应用基础" 模块合格证书者,
可免考" 计算机应用基础" 课程。
⑤各类物理专业专科及以上毕业生可免考" 物理(工)" 课程;理工类专业专科及以上毕业生已学过" 普通物理" 、" 大学物理" 、" 物理" 等课程且考试成绩合格可免考" 物理(工)" 课程。
3 、专业基础课及专业课的免考①自学考试毕业生,报考第二学历或本科,可免考与原专业课程名称相同、要求相当或比原专业要求较低的课程。
②各类高校本科及以上毕业生报考自学考试专科或本科专业各类高校专科毕业生报考试专科专业,可免考与原专业课程名称相同、要求相当或比原专业要求较低的课程。
③获得全国计算机应用技术证书考试(NIT )" 管理系统中信息技术的应用" 模块证书者,可免考自学考试" 管理系统中计算机应用" 课程。
④取得公共关系专业专科及以上毕业证书者可免考" 公共关系学" 课程;取得市场营销专业专科及以上毕业证书者可免考" 市场营销学" 课程等,其它类似问题仿此处理。
4 、免考手续考生在报名其间向市自考办提出申请,并附有关证明材料(准考证、毕业证原件、原毕业专业学习成绩或加盖当地人事部门印章的复印件)。市自考办审核后,将有关证明材料、免考考生信息数据库报省自考办审批。课程免考批准后,有关证明材料退还本人,省自考办打印《免考课程合格证》发给考生。
5 、免考实践性环节课程考生需持有关材料到主考学校办理免考手续。
友情提醒:由于各地政策不同,考试大提醒你注意各地考办的最新规定,以免影响考试。
自学考试毕业手续
· 毕业时间:每年的六月三十日和十二月三十日
· 毕业论文程序:
· 自学考试考生自通过本科毕业论文的登记审核,即进入到毕业论文的写作程序当中来。在进行登记时,会告诉每个专业的考生,在规定的时间去指定的地点听论文的讲座。在讲座上,高校主管该专业论文的老师会和大家见面,并根据大家的选题方向,将考生分配到有关的教研室,然后由教研室具体指派导师。
· 论文答辩的程序基本由三项组成:首先考生简单地阐述论文的写作动机、内容梗概和基本的观点;然后答辩小组成员就考生论文内容进行提问;如果答辩小组认为必要,还会对涉及论文的专业范围内的其他问题加以提问。这些提问都需要考生认真加以回答,并会影响到考生的论文成绩。 考生通过论文答辩后,其本科论文即告完成。如果顺利通过,考生就应该准备本科毕业了。
· 毕业条件:
· 参加高等教育自学考试的考生,具备下列条件,方可参加毕业审查,办理自学考试毕业证书。
· ①考完本专业考试计划所规定的理论课程且考试成绩合格。
· ②完成该专业所规定的实践性环节课程考核,并取得合格成绩。
· ③思想品德经鉴定符合要求。
· ④办理本科毕业证书者,必须具有国家承认学历的专科及以上毕业证书。
· 毕业手续:
· 考生根据专业考试计划自己判断并申请毕业,市自考办不负责通知考生办理毕业手续。 凡符合毕业条件的考生,在规定的时间内(上半年6月上旬,下半年12月上旬,具体时间以当地自考办安排为准)持《准考证》、《身份证》、全部《课程合格证》,办理本科毕业证者还须持有专科及以上毕业证原件,到所在市自考办申请办理毕业证书,经市自考办初审符合条件者,打印考生基本信息单,交考生核对签字,并发给《高等教育自学考试毕业生思想品德鉴定表》。
· 在职人员由考生所在单位的人事(劳资)部门的负责人写出评语,加盖单位公章;非在职人员由乡政府或街道办事处审核并写出评语,加盖公章。 经市自考办、主考院校、省自考委三级审核后,符合条件者,发给毕业证书及毕业生档案。
· 毕业证领取程序:
· 领取凭证:准考证、身份证
· 1、出示准考证、身份证,告知自考专业及层次。 2、在领取毕业生档案登记簿上签名,如系受人委托代领,应同时出示被委托人的身份证,并在签名栏内签"***代" ; 3、领取档案袋和证书夹,仔细检查,有无错装或缺漏(档案袋内装自考毕业证书、自考课程合格证、自考毕业生登记表及毕业成绩单); 4、将毕业证书、自考课程合格证取出,由本人妥善保管。将自考毕业生登记表及成绩单(各1份)密封在袋内交本人所在单位劳动人事部门(建议考生在密封档案前将自己的毕业生登记表复印一份留存备查)。
· 毕业生待遇规定:
· 高等教育自学考试毕业生是在职人员的,由所在单位或上级主管部门本着用其所学、发挥所长的原则,根据工作需要调整他们的工作;高等教育自学考试毕业生是非在职人员(包括农民)的,由省级劳动人事部门根据需要,在编制和增人指标范围内有计划地选择录用或聘用。
· 在工资待遇方面,非在职人员录用后,与普通高等学校同类毕业生相同;在职人员的工资待遇低于普通高等学校同类毕业生的,从获得毕业证书之日起,按普通高等学校同类毕业生工资标准执行
2008-8-8 2:07:17 阅读37 评论0 82008/08 Aug8
| |
2008-8-8 2:01:20 阅读13 评论0 82008/08 Aug8
web.config文件详解
(一).Web.Config是以XML文件规范存储,配置文件分为以下格式
1.配置节处理程序声明
特点: 位于配置文件的顶部,包含在<configSections>标志中。
2.特定应用程序配置
特点: 位于<appSetting>中。 可以定义应用程序的全局常量设置等信息.
3.配置节设置
特点: 位于<system.Web>节中,控制Asp.net运行时的行为.
4.配置节组
特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.
(二).配置节的每一节
1.<configuration>节
根元素,其它节都是在它的内部.
2.<appSetting>节
此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置
用法:
I.
<appSettings>
<add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>
<appSettings>
定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码.
II.<appSettings>
<add key="ErrPage" value="Error.aspx"/>
<appSettings>
定义了一个错误重定向页面.
3.<compilation>节
格式:
<compilation
defaultLanguage="c#"
debug="true"
/>
I.default language: 定义后台代码语言,可以选择C#和VB.net两种语言.
IIdebug : 为true时,启动aspx调试; 为false不启动aspx调试,因而可以提高应用程序运行
时的性能。 一般程序员在开发时设置为true,交给客户时设置为false.
4.<customErrors>节
格式:
<customErrors
mode="RemoteOnly"
defaultRedirect="error.aspx"
<error statusCode="440" redirect="err440page.aspx"/>
<error statusCode="500" redirect="err500Page.aspx"/>
/>
I.mode : 具有On,Off,RemoteOnly 3种状态。On表示始终显示自定义的信息; Off表示始终显示详细的asp.net错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.
II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的
III.statusCode: 指明错误状态码,表明一种特定的出错状态.
IV. redirect:错误重定向的URL.
5.<globalization>节
格式:
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
fileEncoding="utf-8"
/>
I.requestEncoding: 它用来检查每一个发来请求的编码.
II.responseEncoding: 用于检查发回的响应内容编码.
III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码.
6.<sessionState>节
格式:
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
I.mode: 分为off,Inproc,StateServer,SqlServer几种状态
这里有详细介绍此属性:
II. stateConnectionString :指定Asp.net应用程序存储远程会话状态的服务器名,默认为本机
III.sqlConnectionString: 当用会话状态数据库时,在这里设置连接字符串
IV. Cookieless: 设置为true时,表示不使用cookie会话状态来标识客户; 否则,相反.
V. TimeOut: 用来定义会话状态存储的时间,超过期限,将自动终止会话.
7.<authentication>节
格式:
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
I.
II.Forms: 使用基于窗体的验证方式
III.Passport: 采用Passport cookie验证模式
IV.None: 不采用任何验证方式
里面内嵌Forms节点的属性涵义:
I.Name: 指定完成身份验证的Http cookie的名称.
II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录
III.Protection: 指定 cookie数据的保护方式.
可设置为: All None Encryption Validation四种保护方式
a. All表示加密数据,并进行有效性验证两种方式
b. None表示不保护Cookie.
c. Encryption表示对Cookie内容进行加密
d. validation表示对Cookie内容进行有效性验证
IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.