基于asp.net 2.0的高校在线选课系统,不知道怎么在aspx.cs文件中设置才能连接SQL Server 2000数据库

基于asp.net 2.0的高校在线选课系统,不知道怎么在aspx.cs文件中设置才能连接SQL Server 2000数据库,第1张

<appSettings>

<add key="selectcourseConnectionString" value="Data Source=>

错误提示:数据库连接出错,请检查Connasp 文件中的数据库参数设置。错误原因:connasp 中的有关数据库参数设置不正确。解决方法:access 版要注意数据库路径要使用绝对路径,SQL 版要注意把SQL2000 的身份验证模式改成混合模式。下面这是connasp中有关数据库的设置,一定要正确!如果是ACCESS数据库,请认真修改好下面的数据库的文件名db = \datab……

关于 connasp 之己见

在asp中,为了代码的重用,把某些程序都模块化

比如把连接数据库的一些代码写在一个文件里,在其他地方加载进来就是了,方便快捷

在实际工作中用得也多,后来发现,以前的某些写发是不大妥当的

以前写 connasp 的时候都这样写:

Quote

<%

Dim Def_Sample,Conn

Def_Path=serverMapPath("datamdb")

Def_Sample="DBQ="+Def_Path+";DefaultDir=;DRIVER={Microsoft Access Driver (mdb)};" '连接字串

Set Conn=ServerCreateObject("ADODBCONNECTION")

ConnOpen Def_Sample'创建对象

%>

这样在其他地方使用的时候,包含 Connasp 即可

同时这样也带来一个问题:

如果人家直接访问你的 Connasp 的话,那么建立的 conn 对象在程序中就没有关闭,就会耗掉一些服务器资源,如果有人建立多个连接恶意访问的话,那么

服务器的资源~~

具体资源多少,没有测试,应该还是不少吧

所以现在写程序的时候都写成 Configasp

仅在里边定义连接字串,在使用的时候在创建对象,使用完对象就关闭

Configasp:

Quote

<%

Dim Def_Sample

Def_Path=serverMapPath("datamdb")

Def_Sample="DBQ="+Def_Path+";DefaultDir=;DRIVER={Microsoft Access Driver (mdb)};" '连接字串

%>

你是哪种SQL数据库?SQL SERVER的话用他自带的企业管理器导出为EXCEL就行了。。

----是这样的,不知道你有没有装MSSQL的客户端,如果有装的话请看下面:

打开 开始菜单-->程序-->Microsoft SQL Server-->企业管理器,

在左侧树形列表里选择你数据库,右键-->所有任务-->导出数据-->下一步-->选择你的库名-->下一步-->最上面的 目的框 选一个 Excel(看你要哪个版本的了)下面选一个地址(要打上文件名),一路下一步就OK了

给你个例子,自己看看,OK

string filename = FileUpload1PostedFileFileNameSubstring(FileUpload1PostedFileFileNameLastIndexOf("\\"));

FileUpload1PostedFileSaveAs(ServerMapPath("fileupload\\") + filename);//上传文件

string conn = "Provider=MicrosoftJetOLEDB40;Data Source=" + ServerMapPath("fileupload\\") + filename + ";Extended Properties=Excel 80";

string sqlin = "SELECT FROM [Sheet2$]";

OleDbCommand olecommand = new OleDbCommand(sqlin, new OleDbConnection(conn));

OleDbDataAdapter adapterin = new OleDbDataAdapter(olecommand);

DataSet dsin = new DataSet();

adapterinFill(dsin);

DataTable dtin = dsinTables[0];//连接并读取excel数据

for (i = 3; i <= totalrow; i++)//将Excel文件中第一个工作表的数据导入到sql数据库scjd_youliaoxiaohaojihua表中

{

string sql = "insert into scjd_youliaoxiaohaojihua(yuexuhao,danwei,youpin,cheliangmingchengxinghao,zichanxingzhi,chepaihao,qiyou,chaiyou,beizhu) values('";

int j;

sql += DropDownList1SelectedValueToString() + DropDownList3SelectedValueToString();

if (DropDownList1SelectedValueToString() != DateTimeNowYearToString() || intParse(DateTimeNowMonthToString()) != intParse(DropDownList3SelectedValueToString()))

{

sql += "20";

}

else

{

if (intParse(DateTimeNowDayToString()) < 10)

sql += "0";

sql += DateTimeNowDayToString();

}

if (i-3 + count < 9)

sql += "00";

else if (i-3 + count < 99)

sql += "0";

sql += (i -3 + 1 + count)ToString();

sql += "','";

for (j = 1; j < 8; j++)

{//遍历Excel表中一行的所有列,除最后一列

sql += dtinRows[i][j]ToString()Trim();

sql += "','";

}

sql += dtinRows[i][8]ToString()Trim();

sql += "')";

try

{

DoSql(sql);

}

catch (Exception eeeeeee)

{

ResponseWrite("<script>alert('数据导入错误,请检查Excel文件')</script>");

return;

}

}

FileInfo file = new FileInfo(ServerMapPath("fileupload/") + filename);

if (fileExists)

{//删除文件

fileDelete();

}

protected void DoSql(string sql)//执行sql语句的函数

{

SqlConnection conn = new SqlConnection();//创建连接对象

connConnectionString = ConfigurationManagerAppSettings["conn"]ToString();//给连接字符串赋值

connOpen();//打开数据库

SqlCommand cmd = new SqlCommand(sql, conn);

cmdExecuteNonQuery();//

connClose();//关闭数据库

}

建立远程数据库链接,然后在你需要同步的表上建触发器:每当表有修改时,自动修改远程数据库的相应表。

----------------------------------

抱歉,你的题目我没理解正确,其实你使用双机热备就行了,在网上找到一个教程,是这个网址:

你看一下吧。

----------------------------------

不是,我先前的理解不正确,后来的理解才正确,现在是你开始走弯路了,你就按照我给的网址学习双机热备吧,肯定能达到你的目的。

另:送你关于远程数据库映射的东西:

SqlServer数据库:

--这句是映射一个远程数据库

EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server'

--这句是登录远程数据库

EXEC sp_addlinkedsrvlogin '远程数据库的IP或主机名', 'false', NULL, '登录名', '密码'

--登录后,可以用以下格式 *** 作远程数据库中的对象

select from [远程数据库的IP或主机名][数据库名][dbo][表名]

我仔细考虑了一下,用这种方式无法满足你的要求,所以请你用双机热备完成。

-------------------------------

原来是要在互联网环境下啊,你一直没有提,汗。。。

我水平有限,这个没什么好的思路,帮不上你,抱歉了。

我所能想到的,只有两种不成熟的思路:

1、用***架出局网环境,这个你可能条件所限,不能实现。

2、第二种思路是以我浅薄的知识想像出来的笨方法,拐弯抹角的而且不安全,大体思路就是,在B服务器上架构一个WEB服务器,用ASP或JSP什么的做一个页面,可以接收字串参数并作为sql语句执行(当然你要做好验证工作),然后修改A服务器的程序,使其每当对数据库有修改 *** 作时,就同时向B机的WEB主页发送一个页面申请(比如 AA set BB='cc'),这样B主机的WEB服务就会同步执行这个SQL语句了。(注意这种方法需要你的B机是以固定IP模式连网的,这需要向电信局申请)

说实话这第二种方法连我自己都觉得可笑,但水平实在有限,所以在这儿只是大胆说出我的想法,还请楼主或是其它高手看了不要见笑。

例如,用户表有三个字段,自增长的id的数量,int类型;名为name nvarchar类型,密码,密码,nvarchar类型

首先介绍了在VS2005中使用SystemDataSqlClient命名空间

/ / /公升; summarygt

/ / /增加

/ / /

/ / / 的名称参数>

/ / / 密码

/ / /

诠释插入(字符串名称,字符串PWD)

{

SqlConnection的康恩=新的SqlConnection(@“数据源= \ SQLEXPRESS;初始目录=测试;集成安全性=真”);/ /初始目录后,如果您的服务器名称SqlServer的背后你的数据库的名称,没有SQLEXPRESS数据,来源=

connOpen();

字符串SQL =“插入到用户(名称,密码)值(@名,密码)”; />的SqlCommand命令=新的SqlCommand(SQL,CONN);

SqlParameter的PARN =新SqlParameter(“@名字”,名字);

CMD。 ParametersAdd(PARN);

SqlParameter的PARP =的新SqlParameter(“@密码”,密码);

cmdParametersAdd(PARN)的;

int结果= cmdExecuteNonQuery() ;/ /结果收到影响的行数,结果是大于0的,然后添加成功

connClose();

cmdDispose();

返回结果

}

/ / /公升; summarygt

/ / /删除

/ / /

/ / / 姓名

/ / / 密码

/ / /

公众诠释更新(ID)

{

SqlConnection的康恩=新的SqlConnection(@“数据源= \ SQLEXPRESS;初始目录测试,集成安全性= TRUE”);/ /初始目录的名称您的数据库,如果你的SQLServer服务器名称,没有SQLEXPRESS,然后数据源=

connOpen();

字符串SQL =“删除用户ID = @ ID”;

的SqlCommand Cmd的=新的SqlCommand(SQL,CONN);

SqlParameter的PARN =新SqlParameter(“@ ID”,身份z);

cmdParametersAdd(PARN)的;

int结果= cmdExecuteNonQuery ();/ /结果收到影响的行数,结果是大于0,表示删除成功

connClose();

cmdDispose();

返回结果;

}

/ / /公升; summarygt

/ / /

/ / /

/ / / 名

/ / / 密码

/ / /

int的插入(字符串名称,字符串密码,ID)

{

数据库的连接,康恩=新的SqlConnection(资料来源= \ SQLEXPRESS;初始目录=测试;集成安全性=真“);/ /你的数据库的名称初始目录,如果你的SQLServer服务器名称,没有SQLEXPRESS,则数据源。

connOpen();

字符串的sql =”UPDATE用户名称= @名称,PWD = @密码其中id = @ ID“;

的SqlCommand CMD =新的SqlCommand(SQL,CONN);

SqlParameter的PARN =新SqlParameter(”@名字“,名字);

cmdParametersAdd(PARN)的;

SqlParameter的PARP =的新SqlParameter(“@密码”,密码);

cmdParametersAdd(PARN)的;

SqlParameter的同等=新SqlParameter(“@ ID”,身份z);

cmdParametersAdd(享有);

int结果= cmdExecuteNonQuery();/ /结果收到影响的行数,因此即大于0,则成功

connClose();

CMD的Dispose();

返回结果;

}

BR />

/ / /公升; summarygt

/ / /查询

/ / /

/ / /

公开数据表的Select()

{

SqlConnection的康恩=新的SqlConnection(“数据源= \ SQLEXPRESS; =测试集成安全= TRUE”);/ /初始目录的名称初始目录您的数据库,如果你的SQLServer服务器名称,没有SQLEXPRESS,然后数据源。

connOpen();

字符串的sql =“SELECT FROM用户”;

的SqlCommand CMD =新的SqlCommand (SQL,CONN);

SqlDataAdapter的SDA =新的SqlDataAdapter(CMD);

数据表DT =新的DataTable();

sdaFill(DT);

connClose( );

cmdDispose();

回报DT; }

方法写在下面举的例子一个查询,将DataGridView表单,然后在加载方法

私人无效Form1_Load的(对象发件人,EventArgs的五)

{

dataGridView1DataSource =选择();}

这样运行时,DataGridView将显示数据

以上就是关于基于asp.net 2.0的高校在线选课系统,不知道怎么在aspx.cs文件中设置才能连接SQL Server 2000数据库全部的内容,包括:基于asp.net 2.0的高校在线选课系统,不知道怎么在aspx.cs文件中设置才能连接SQL Server 2000数据库、aspx网站的数据库怎么找不到啊、数据库连接出错,请检查数据库连接文件中的数据库参数设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10143560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存