
1、mysql官网下载 net连接器
2、引用下载后的mysqldatadll
3、程序开始加:using MySqlDataMySqlClient;
4、连接数据库:
private void button1_Click(object sender, EventArgs e)//登入按钮{
string power = comboBox1TextTrim();
string user = textBox1TextTrim();
string psd = textBox2TextTrim();
string ipaddress = "";
string mysqluser = "";
string mysqlpsd = "";
if (user == "")
{
MessageBoxShow("请输入用户名");
}
else if (psd == "")
{
MessageBoxShow("请输入密码");
}
else
{
try
{
try
{
string[] getconfig = FileReadAllLines("E:/project/configuretxt", EncodingGetEncoding("gb2312"));
ipaddress = getconfig[0]Split(':')[1];//读取ip地址
mysqluser = getconfig[1]Split(':')[1];//读取数据库账号
mysqlpsd = getconfig[2]Split(':')[1]; //读取数据库密码
}
catch (Exception)
{
MessageBoxShow("配置文件丢失");
return;
}
string query = "SET names gb2312;SELECT COUNT(id) FROM fx_user WHERE name='" + user + "' AND password=MD5('" + psd + "') AND userid='" + power + "'";
MySqlConnection cn = new MySqlConnection("server=" + ipaddress + ";user id=" + mysqluser + ";Password=" + mysqlpsd + ";database=system;charset=gb2312");
cnOpen();
MySqlCommand cm = new MySqlCommand(query, cn);
MySqlDataReader read = cmExecuteReader(); //搜索满足 用户名,密码, *** 作员的记录。
//如果记录没有-->密码或用户名错误
if (readRead()) //如果记录多余1条-->数据错误,联系管理员
{ //只有一条记录则成功登入
int x = Int32Parse(read[0]ToString());
if (x == 0)
{
MessageBoxShow("用户名或密码错误");
}
else if (x > 1)
{
MessageBoxShow("用户冲突,请联系管理员");
}
else if (x == 1)
{
// MessageBoxShow("登入成功");
main mf = new main(power, ipaddress, mysqluser, mysqlpsd); //将 *** 作员 和 IP地址传入 主窗体
mfShow();
thisHide();
cnClose();
}
}
}
catch (MySqlDataMySqlClientMySqlException ex)
{
switch (exNumber)
{
case 0:
MessageBoxShow("数据库连接失败1");
break;
case 1045:
MessageBoxShow("数据库密码或用户名错误");
break;
default:
MessageBoxShow("数据库连接失败2");
break;
}
}
}
}
您如果想要判断类型的话,可以进行转换 比如
select to_char(name) from table_name; ---这样就把您想要的数据NAME列转换为字符型;
select to_num(name) from table_name; ---这样就把您想要的数据NAME列转换为数字型;
您所说的自动判断 貌似没有
处理“我想查 IF中同时满足这两个条件的总数”
我的理解是:
SELECT COUNT() FROM tougao_record WHERE accept_company_id=100 AND channel_type=1 AND check_status=6下面是if语句里面多个条件的使用。
IF语句的标准形式IF(expr1,expr2,expr3)
expr1可以是单个表达式也可以是多个表达式,且&&,或||,非!
上面的语句可以这样写
select COUNT(IF(channel_type=1 && check_status=6),1,0) FROM tougao_record WHERE accept_company_id=100
但是就我的理解,mysql在统计count的时候,不管count括号里面的内容,只管是否为空,查询的结果不为空就计数。
我是处理下面的问题用到了,可以直接跑一下我给的sql语句。
SET @destval:='063';SET @valforcomp='062';
SELECT
IF(@destval REGEXP '^[\-\+]([0-9]+)$' && @valforcomp REGEXP '^[\-\+]([0-9]+)$',
IF(ABS(@destval-@valforcomp)<002,1,0),NULL) result
上面的REGEXP只是简单的用来判断是否是数字,通过这个我还发现了另一个问题,
SELECT ABS(@destval-@valforcomp);这个查询出来不是等于001而是0010000000000000009
不知道有没有帮到你。
以上就是关于c#怎么连接数据库 用MySQL 详解全部的内容,包括:c#怎么连接数据库 用MySQL 详解、mysql数据库字段中 判断字段中字符类型 问题、mysql if是多条件该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)