标题:[讨论]关于连接sqlserver数据库的方式
只看楼主
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
 问题点数:0 回复次数:12 
[讨论]关于连接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
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
添加一個config  扔到config裡面去

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-15 10:56
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
楼上的大哥:小生愚钝,怎么仍?越详细越好。谢了!

2006-08-15 11:01
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
添加一個config文件(asp.net winform都可以)
<configuration>
<appSettings>
<add key="connstr1" value="server=127.0.0.1;database=yyxt;uid=sa;pwd=;" />
<add key="connstr2" value="server=$server$;database=$database$;uid=$uid$;pwd=$pwd$;" />
</appSettings>
</configuration>
ConfigurationSettings.AppSettings獲取
固定的可以獲取1 手動去改
動態的replace掉2 存到一個static string中

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-15 11:16
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
mylover624
Rank: 1
来 自:乖乖的心中
等 级:新手上路
帖 子:868
专家分:0
注 册:2006-7-6
得分:0 
把登陆的代码用public修饰

一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@.cn
2006-08-15 13:41
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
mylover624
Rank: 1
来 自:乖乖的心中
等 级:新手上路
帖 子:868
专家分:0
注 册:2006-7-6
得分:0 

你倒不如把
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());
等等之类的这些东西都写在一个类里,无论什么地方要用,直接调用类就行了。


一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@.cn
2006-08-15 17:08
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-84045-1-1.html




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

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