C#链接mysql 新手容易出错的问题

1.Access denied for user ‘root‘@‘DESKTOP-AN72KEI‘ (using password: YES)

出现这个问题的原因是因为mysql的自带用户root理论上是不允许对外访问的,只能本地访问,如果需要访问该用户,需要修改一些mysql的配置文件,最好是使用自己新建的用户并且赋予管理员权限。

2.No database selected

出现这个错的原因是数据库没有找到对应的数据,这里需要对结果做一个是否为空的判断。,并且一定要注意的是连接字符串中需要指定数据库,不然也可能会出现这样的错误。

3.语句的参数化

DEMO如下:

 string conn = "server=192.168.60.128;database=mysql_test;User Id=sqlAdmin;password=123";

            using (MySqlConnection mconn = new MySqlConnection(conn))
            {
                mconn.Open();
                //string sql = "SELECT t.sName FROM student t WHERE t.sid =2";
                string sql = "SELECT t.sName FROM student t WHERE t.sid =?id";
                MySqlCommand mcomm = new MySqlCommand(sql, mconn);
                mcomm.Parameters.Add("id", MySqlDbType.Int32);
                mcomm.Parameters["id"].Value = 2;
                var res = mcomm.ExecuteScalar();
                if (res == null)
                {
                    return null;
                }
                else
                {
                    return res;
                }
            }

4.需要引入的空间:

using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;

5.需要的DLL:

6.Unable to connect to any of the specified MySQL hosts.出现这个错误的原因是指定了错误的端口号或者是server的地址写错了,不指定端口号的话是不是默认为3306还请大神指出,本人实验了一下连接到虚拟机的时候没有指定端口号也并没有报错,完整的链接语句:

server=192.168.60.128;port=3306;database=mysql_test;User Id=sqlAdmin;password=123,在配置文件中可以指定属性:

providerName="MySql.Data.MySqlClient"

时间: 2024-08-11 07:42:05

C#链接mysql 新手容易出错的问题的相关文章

MYSQL新手入门篇

MYSQL新手入门篇 一.数据库的简介 什么是数据库? 数据的仓库,如:在atm的实例中我们创建一个db目录称之为数据库 什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 他们是数据库软件,主要功能为两部分:1.讲数据保存到内存或者文件.2.接受特定的命令对数据进行操作 什么是SQL? 上述问题说过,数据库要接受特定的命令,这个命令就是用SQL编写,他是结构化查询语言(Structured Query Language)的缩写,一种专门与数据库交互的

JDBC链接Mysql数据库+执行sql

package com.wangbingan.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /**  * JDBC链接数据库  *   * @author Administrator  *   */ public class JdbcUtil { public static void main(Strin

EntityFramework 多数据库链接,MySql,SqlServer,Oracel等

环境:EntityFramework5.0,MySql5.6,MSSQL2012 EF是强大的ORM工具,真正意义上的多数据库链接指的是不同类型的数据库,以及同种类型的数据库多个库,EF很好的支持这一点,下面简单演示下: 创建一个MVC4.0,Framework4.5的基本项目,然后重点是WebConfig配置: <?xml version="1.0" encoding="utf-8"?> <!-- For more information on

php链接Mysql数据库

PHP链接Mysql数据库: 1:首先打开软件(WampServer再点击鼠标左键,再点phpMYAdmin最后打开的页面是 再填用户名,密码可以写不可写,最后再点执行就出现这个页面 再点test新建表名)最后就在mysql里面创建表格,在表格里面可以添加数据.查询数据.删除数据.修改数据 例: (1):添加数据INSERT INTO `message`(`id`, `user`, `title`, `content`, ` lda te`) VALUES ('','张三','学习php','飞

PHP链接Mysql数据库的小知识

1:在PHP写隔行变色有三种写法(但是最好的是用js+css) (1)CSS: tr:nth-child(even){             background: #cad9ea;         } even:代表偶数: ood:代表奇数:   (2)PHP: <?php                 if($n %2 == 0){            ?>            <tr style="background: #cad9ea"> <

Qt5.8 下链接 Mysql 错误以及解决方法

Qt 5.8 下链接 Mysql(Windows 平台下),有朋友会出现一个这个无法连接的错误 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 解决办法如下 根据 Qt版本不同 ,32 和 64 的 ,需要的驱动是不同的,总的来说,无论 Mysql 是什么版本的,64 位 Qt 要用 64 位的 Mysq

C#链接MySQL

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; namesp

ubuntu操作mysql新手sql教程

ubuntu操作mysql新手sql教程 1.启动mysql数据库: 效果: 2.进入mysql: 效果: 3.查看所有数据库: 效果: 4.创建数据库: 效果: 5.进入数据库: 效果: 6.创建表: 效果: 7.往表里插入数据: 效果: 8.显示字段及一些非空信息: 效果: 9.查看表内容: 效果: 10.退出mysql数据库: 效果: 11.关闭mysql数据库: 效果:

python链接mysql

1.安装MySQLdb MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 下载地址: http://sourceforge.net/projects/mysql-python/files/mysql-python/ 我下载了1.2.3版本 2.代码 1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 import MySQLdb 4 # 打开数