| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1109 人关注过本帖
标题:[讨论]关于连接sqlserver数据库的方式
取消只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:7 
[讨论]关于连接sqlserver数据库的方式

小弟最近学着做了一段连接数据库登录的代码调试通过,但是登陆后在其他Form里进行数据库操作时,又得重新建立连接: string m ="server='"+comboBox1.Text+"';database=yyxt;uid=sa;pwd=''";
SqlConnection conn=new SqlConnection(m);
conn.Open();

这样很麻烦,况且comboBox1.Text的值还得重新定义成全局变量。能不能把连接数据库的代码定义成一个公用代码,以后用到直接调用即可?



private void button1_Click(object sender, System.EventArgs e)
{
try
{
string m ="server='"+comboBox1.Text+"';database=yyxt;uid=sa;pwd=''";
SqlConnection conn=new SqlConnection(m);
conn.Open();
string sql = "select count(*) from users where UserName='" + textBox1.Text+ "' and UserPwd='" + textBox2.Text+ "'";
SqlCommand cmd=new SqlCommand(sql,conn);

int count = Convert.ToInt32(cmd.ExecuteScalar());

if (count>0)
{
this.IsLogin = true;
conn.Close();
this.Close(); }
else
{MessageBox.Show("密码或用户名不正确!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}

}
catch
{
MessageBox.Show("无法与数据库建立连接,请检查网络配置!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.button1.Focus();
this.IsLogin = false;
}
}

搜索更多相关主题的帖子: 数据库 sqlserver 定义 变量 
2006-08-15 10:52
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
楼上的大哥:小生愚钝,怎么仍?越详细越好。谢了!

2006-08-15 11:01
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
谢谢chenjin145的回复!还是不会弄。

这么说吧,原登录Form是Log_in,我现在在另一个Form(ark)中调用登录时的代码出错:

private void ark_Load(object sender, EventArgs e)
{
SqlConnection conn=new SqlConnection(Log_in.ljmc); //ljmc我已在Log_in中定义为 public string ljmc
并把原来登录连接成功的string m 赋给了ljmc,但在这里却没有值
conn.Open();
}

2006-08-15 13:24
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
源代码加了public,
public void button1_Click(object sender, System.EventArgs e)
{
try
{
string m = "server='" + this.comboBox1.Text + "';database=yyxt;uid=sa;pwd=''";
SqlConnection conn=new SqlConnection(m);
conn.Open();
ljmc = m; //ljmc已在前面定义为 public string ljmc;
......
但运行到Form(ark)时还是提示错误
图片附件: 游客没有浏览图片的权限,请 登录注册


2006-08-15 13:54
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
ljmc没有取到值

2006-08-15 14:01
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
以下是引用mylover624在2006-8-15 17:08:34的发言:

你倒不如把
string m ="server='"+comboBox1.Text+"';database=yyxt;uid=sa;pwd=''";
SqlConnection conn=new SqlConnection(m);
conn.Open();
string sql = "select count(*) from users where UserName='" + textBox1.Text+ "' and UserPwd='" + textBox2.Text+ "'";
SqlCommand cmd=new SqlCommand(sql,conn);

int count = Convert.ToInt32(cmd.ExecuteScalar());
等等之类的这些东西都写在一个类里,无论什么地方要用,直接调用类就行了。

可是其中:comboBox1.Text的值要靠用户输入啊,不是固定的。


2006-08-15 17:19
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
自己顶上去!
哪位朋友有好的实例能放上来学习一下么?

2006-08-16 08:36
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
谢谢各位,问题已经解决了!

书看不到不行啊,其实很简单:
在登录窗体新建一个类就行了,在别的Form直接调用就好了,我的代码:

public static void cjljff( )//创建连接方法
{
try
{
string m = "server='" + Log_in.ljmc + "';database=yyxt;uid=sa;pwd=''";
SqlConnection conn=new SqlConnection(m);
conn.Open();}
catch
{
MessageBox.Show("无法与数据库建立连接,请检查网络配置!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}


别的Form里直接一句话调用:
Log_in.cjlj.cjljff();

2006-08-16 14:37
快速回复:[讨论]关于连接sqlserver数据库的方式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017259 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved