下面是别人解决问题的总结:
问题解决了。总结一下:
1.mysql数据库驱动有两种:mysql-connector-odbc和mysql-connector-net,
前者不支持参数,后者支持,这是我测试的结果;
2.参数变量使用跟SqlServer一样,只需把@变为?,
如,mysql中写为:insert into test values (?id,?title,?type,now())";
3.使用mysql-connector-net驱动很简单,到网上下载mysql-connector-net-5.2.3-src,
解压后,把mysql.data.dll添加到项目的bin文件夹即可使用;
4.连接本机mysql数据库方法例子如下---mysql-connector-net:
1)Using Web.config
<connectionstrings>
<add name="WhateverName" connectionString="server=localhost;user id=root; password=yourPassword;database=yourDatabase;;charset=utf8;"/>
</connectionstrings>
charset=utf8字符集
2)using statements
using MySql.Data.MySqlClient;
下面附上测试通过的代码:
string connStr = WebConfigurationManager.
ConnectionStrings["WhateverName"].ConnectionString;
MySqlConnection conn = new MySqlConnection(connStr);
if (conn != null)
conn.Open();
else
return;
string SQL_INSERT_TOPIC = "insert into test values (null,?title,?type,now())";
string PARM_TITLE = "?title";
string PARM_TYPE = "?type";
MySqlParameter[] parms = new MySqlParameter[]
{
new MySqlParameter(PARM_TITLE,MySqlDbType.VarChar,80),
new MySqlParameter(PARM_TYPE,MySqlDbType.VarChar,1)
};
parms[0].Value = "welcome to beijing";
parms[1].Value = "C";
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = SQL_INSERT_TOPIC;
foreach (MySqlParameter pram in parms)
cmd.Parameters.Add(pram);
cmd.ExecuteNonQuery();
conn.Close();
5.连接本机mysql数据库方法例子如---mysql-connector-odbc
转自:
http://dotnetperls.com/Content/OdbcConnection-Example.aspx
分享到:
相关推荐
在C#中与MySQL数据库进行大规模数据交互时,性能优化是关键,特别是在处理千万级别的数据。本文将探讨如何高效地读取和写入大量数据,主要分为三个步骤:解决读取问题、数据处理和数据插入。 ### 第一步:解决读取...
本主题聚焦于使用C#语言与SQL技术来实现批量导入数据到数据库的三种方法:普通方法、SqlBulkCopy和使用表值参数(TVP)。我们将详细探讨这些方法及其优缺点。 首先,让我们来看看**普通方法**。这种方法通常涉及...
5. **构建SQL语句**:根据需要存储的数据,构造合适的INSERT或UPDATE SQL语句,确保字段与值匹配,并符合数据库表结构。 6. **执行SQL**:打开数据库连接,使用`SqlCommand`对象执行SQL语句,将OPC数据存入数据库。...
4. **执行SQL语句**:使用`MySqlCommand`对象执行SQL命令,例如插入数据。 ```csharp string query = "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')"; using (MySqlCommand command = ...
使用`MySqlCommand`执行SQL语句,`MySqlDataReader`用于读取结果。 5. **数据导入**: 数据导入通常涉及循环遍历Excel数据,然后构建SQL的INSERT语句。在批量插入时,使用参数化查询可以避免SQL注入风险,并提高性能...
这段代码首先读取指定路径的图片文件到内存,然后创建一个SQL INSERT语句,将图片数据作为参数传递。`MySqlParameter.AddWithValue`方法用于添加参数,其中`@ImageData`对应`BLOB`字段,其他参数则为图片文件名和...
之后,通过`MySqlCommand`对象执行SQL语句,如`SELECT`, `INSERT`, `UPDATE`, `DELETE`等。例如,插入数据的代码可能如下: ```csharp using (var connection = new MySqlConnection(connectionString)) { ...
在SQL语句中使用`CHARACTER SET utf8`或`CHARACTER SET utf8mb4`来创建支持中文的数据库和表。例如: ```sql CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci; USE mydb; CREATE TABLE mytable ...
例如,创建员工表(Employee)、工资项表(SalaryItems)和工资记录表(SalaryRecords),并通过SQL语句进行数据的增删改查操作,实现工资的计算和存储。 C#是一种面向对象的编程语言,由微软公司开发,广泛应用于...
在本文中,我们将深入探讨如何使用C#编程语言来连接MySQL数据库,并将查询到的数据写入Excel文件。这个过程涉及到几个关键的技术点,包括C#的数据库连接、MySQL的驱动程序以及Excel的数据处理。 首先,C#是微软.NET...
开发者需要编写SQL语句来创建表,插入、更新和查询数据,并使用C#的SqlCommand对象执行这些操作。在游戏启动时,读取数据库中的玩家信息,游戏结束时,将新数据写入数据库。 在压缩包中的"文件名称列表"仅给出了"C#...
3. **执行备份**:在C#中,使用`connection.CreateCommand()`创建一个新的SQL命令对象,设置其`CommandText`属性为备份SQL语句,然后调用`ExecuteNonQuery()`方法执行。 4. **文件保存**:备份的数据库通常以SQL...
开发者需要设计合理的数据库表结构,例如学生表、课程表和成绩表,并通过SQL语句实现数据的增删改查操作。 3. 数据库设计:在设计数据库时,应考虑数据的一致性、完整性和安全性。学生表可能包含ID、姓名、性别、...
Cmd命令可以用于执行各种操作,例如备份数据库、还原数据库、执行SQL语句等。在本例中,Cmd命令被用于调用mysqldump.exe来执行备份命令。 知识点四:C#中的文件操作 在C#中,可以使用文件流来读取和写入文件。例如...
使用SqlCommand对象创建SQL语句,并通过ExecuteReader方法执行查询: ```csharp string query = "SELECT * FROM myTable"; SqlCommand command = new SqlCommand(query, connection); SqlDataReader reader = ...
总结一下,这个场景涉及到的关键知识点包括:C#中的MySQL数据库连接、使用`MySqlConnection`和`MySqlCommand`对象执行SQL语句、处理BLOB类型数据以及读写文件。通过这些技术,你可以构建一个能够上传和下载图片的C#...
关于将异常信息写入Mysql数据库,Log4Net通过`AdoNetAppender`将这些信息转换为SQL插入语句并执行。`commandText`属性定义了插入语句,而`parameter`元素则定义了占位符及其对应的值。这里的模式布局(PatternLayout...
在IT领域,数据库是存储和管理...无论是进行数据读取、写入还是其他复杂操作,都需要熟悉相应的API和SQL语句,以便在实际项目中灵活应用。通过DbOperator这样的工具或类库,我们可以方便地封装这些操作,提升开发效率。
在C#.NET中批量插入大量数据到数据库是一个常见的任务,特别是在处理诸如从Excel文件导入数据等场景时。这里,我们将探讨如何使用C#.NET高效地完成这个任务,并提供一个简单的示例来说明整个过程。 首先,我们需要...
在处理海量数据时,C#和MySQL的组合需要优化策略以确保高效的数据读取和写入。以下将详细探讨在不同阶段如何优化这些操作。 ### 第一步:解决读取问题 1. **避免重型ORM框架**:对于大规模数据处理,重型ORM如...