C#与SQL server
我还只是个入门的,我懂一点ado。net。我用C#在对数据库进行操作时只会这个:staticvoidMain(string[]args){SqlConnectioncon...
我还只是个入门的,我懂一点ado。net。我用C#在对数据库进行操作时只会这个:
static void Main(string[] args)
{
SqlConnection con = null;
try
{
string connectionString = @"server=localhost;database=jwt_SQL;integrated security=SSPI";///////////这个我懂啊
con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from students";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(Environment.NewLine
+ "sno = " + reader["sno"] + Environment.NewLine
+ "name = " + reader["sname"] + Environment.NewLine
+ "sex =" + reader["sex"] + Environment.NewLine
+ "age =" + reader["age"] + Environment.NewLine);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
if (con != null)
{
con.Close();
}
}
Console.ReadKey();
}
上面的语句我都理解,这代码也是从网上加书里学来的,从代码中我也能看出它是将SQL的查询语句传出去,再用一个东西接返回值后输出。可是,如果我把数据库的服务器给关了,这就没戏了。很明显是因为传出去的没人帮忙查询了。疑惑的是:
天啦,那以后弄出来的软件难道都要在有SQL server的机子上用吗?而且还要保证服务器是开这的?而且还要先附加上数据库才能用?不会吧~~~~~~
我知道我肯定是什么知识还没学到,我想问的关于我的这个疑惑我该百度什么,才能学到我想学的,难道要用access吗?access是可以直接打开的耶~
谢谢啦 展开
static void Main(string[] args)
{
SqlConnection con = null;
try
{
string connectionString = @"server=localhost;database=jwt_SQL;integrated security=SSPI";///////////这个我懂啊
con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from students";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(Environment.NewLine
+ "sno = " + reader["sno"] + Environment.NewLine
+ "name = " + reader["sname"] + Environment.NewLine
+ "sex =" + reader["sex"] + Environment.NewLine
+ "age =" + reader["age"] + Environment.NewLine);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
if (con != null)
{
con.Close();
}
}
Console.ReadKey();
}
上面的语句我都理解,这代码也是从网上加书里学来的,从代码中我也能看出它是将SQL的查询语句传出去,再用一个东西接返回值后输出。可是,如果我把数据库的服务器给关了,这就没戏了。很明显是因为传出去的没人帮忙查询了。疑惑的是:
天啦,那以后弄出来的软件难道都要在有SQL server的机子上用吗?而且还要保证服务器是开这的?而且还要先附加上数据库才能用?不会吧~~~~~~
我知道我肯定是什么知识还没学到,我想问的关于我的这个疑惑我该百度什么,才能学到我想学的,难道要用access吗?access是可以直接打开的耶~
谢谢啦 展开
5个回答
展开全部
或许你没有做过部署到企业的软件,你到网上找些基于SqlServer的软件安装就会发现很多软件在安装时就把sqlserver服务器一起安装到客户机上,而且在软件启动是检查服务器有没有启动,没有就启动之,再检查相应的数据库存在否,不存在就附加之,而附加数据库的操作本身就可以用sql实现,所以把你上面代码里的sql语句改掉就能实现附加数据库
从另一方面,对于ASP.NET网站,很多网站在开发时就先确认服务器上使用什么数据库,如果不确定为了保险和可扩展就使之支持多种数据库。而对于很多企业而言,使用基于SqlServer的软件的话一般会配备专门的数据库管理员或网络管理员。对于个人和家庭用户,基于SQLServer开发完全没必要,国内盗版猖獗你可能没体会,可是如果在国外的话一份SQLServer的版权费用就不是个人家庭能承担的
综上所述,如果你开发小型软件,不推荐使用SQLServer,大材小用了;如果开发中大型软件,也不用太担心部署的问题,为了保障企业应用装几个软件根本不算问题。
方便部署的数据库除了Access之外,还可以考虑SQLite和Firebird等,甚至使用NoSql技术或自己解决存储问题
从另一方面,对于ASP.NET网站,很多网站在开发时就先确认服务器上使用什么数据库,如果不确定为了保险和可扩展就使之支持多种数据库。而对于很多企业而言,使用基于SqlServer的软件的话一般会配备专门的数据库管理员或网络管理员。对于个人和家庭用户,基于SQLServer开发完全没必要,国内盗版猖獗你可能没体会,可是如果在国外的话一份SQLServer的版权费用就不是个人家庭能承担的
综上所述,如果你开发小型软件,不推荐使用SQLServer,大材小用了;如果开发中大型软件,也不用太担心部署的问题,为了保障企业应用装几个软件根本不算问题。
方便部署的数据库除了Access之外,还可以考虑SQLite和Firebird等,甚至使用NoSql技术或自己解决存储问题
追问
谢谢啊你说了这么多啊,那按你的说法,想要连接SQL server的数据库就必须要附加数据库,还要打开服务器喽,是不可能直接对数据库文件(.MDF)直接进行操作啦?
展开全部
access数据库 是 小型数据库 仅仅是一个文件 到哪里都能用 只要有文件
sql server数据库 必须本机装有sql server服务 如果没有 只有文件是没有用
需要根据你的需求进行数据库的选择
sql server数据库 必须本机装有sql server服务 如果没有 只有文件是没有用
需要根据你的需求进行数据库的选择
追问
那么这么说是不可能直接对数据库文件(.MDF)直接进行操作啦?我也偏向这种感觉,如果这样都可以了话,那日志文件怎么办对吧哈哈
追答
没有sql的软件 对mdf确实没法直接修改 必须得附加到服务上的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的方式是ado.net只能是这样,你所说的直接操作数据库文件的方式不是acess的专利,而是用的另一种访问数据库的底层方法oledb。这种方式可以直接操作数据库文件,比ado.net要底层
追问
错啦错啦,OledbConnection类是用来连接Access的,如果是SQL数据库,则要用Sqlc
onnectiona啊,这可是书里写的啊。你说的底层方法oledb是这个吗?对了,我就是要直接操作数据库文件的,可是我也很矛盾,SQL server有两文件,一个是用来保存数据(.MDF)的,一个是登录日志文件(.LDF)用来记录操作的,如果是直接对保存数据(.MDF)的进行操作,那日志文件怎么办呀???
追答
哪本书里教的你oledb只能操作acess了?- -!,如果只有这么点功能,微软可以去喝西北风了。说他是底层,是因为ado.net的调用都要先经过oledb,然后再访问odbc,odbc只最底层,所以你要用odbc方式访问,前边我说oledb是底层,可能我表达有错,它应该算是中间层。不信可以看这个http://blog.csdn.net/shu1210/article/details/4171063。多研究研究历史也不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
显然的嘛,每个网站都有后台服务器啊,都有数据库啊,你现在就是在模拟一个网站开发的过程。好好想想是不是!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初始化之前先检测服务器连接是否存在呀!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询