using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using MySQLDriverCS;
using System.Data.Odbc;
using System.Windows.Forms;namespace PhotoApplication
{
class DatatBaseDeal
{
public DatatBaseDeal() { }
public int RunMySQL(string sql)
{
MySQLConnection conn = null;
MySQLCommand commn = null;
int data = 0;
try
{
conn = new MySQLConnection(new MySQLConnectionString("localhost", "photo", "root", "", 3309).AsString);
conn.Open();
commn = new MySQLCommand(sql, conn);
data = commn.ExecuteNonQuery();
MessageBox.Show(data.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
return data;
} /// <summary>
/// 查询编号
/// </summary>
/// <returns></returns>
public Boolean selectGround(string str)
{
//string sql = "select '" + str + "' from ground";
string sql = "select count(ground_number) from ground where ground_number = 'aaa-11'";
int resultDeal = RunMySQL(sql);
if (resultDeal == 1)
{
return true;
}
else
{
return false;
}
}
}
}查询不到数据,数据库里面绝对有数据!请高手帮忙啊
存储过程可以防止注入,并且它的过滤是在服务器上进行的,当数据量太大时,在本地进行的话,会先将服务器上的所有数据传送到本地机,然后进行过滤和显示,这样做太消耗带宽和内存。
你要用commn.ExecuteScalar();
using System.Data;
using System.Data.SqlClient;namespace ExecuteScalar
{
class Program
{
static void Main(string[] args)
{
SqlConnection thisConnection = new SqlConnection(
@"Data Source=scott;Initial Catalog=northwind;Persist Security Info=True;User ID=sa;Password=sa123"); thisConnection.Open(); SqlCommand thisCommand = thisConnection.CreateCommand();
thisCommand.CommandText = "select count(*) from customers"; //ExecuteScalar:执行只返回一个值的SQL命令。
object countResult = thisCommand.ExecuteScalar();
Console.WriteLine("Count of Customers={0}",countResult); Console.ReadLine(); thisConnection.Close();
}
}
}
如果是winform为什么有Console.Write()?
没搞明白楼主是做的哪种程序。。
public Boolean selectGround(string str)
{
//string sql = "select '" + str + "' from ground";
string sql = "select count(ground_number) from ground where ground_number = 'aaa-11'";
int resultDeal = RunMySQL(sql);
if(resultDeal!=0)
{Console.Write(result.ToString());}
}
ExecuteScalar()方法执行SQl查询,并返回查询结果集中的第一行的第一列
int count= (int)cmd.ExecuteScalar();
要查询到数据库中的数据可以用
mySqlDataAdapater da=new mySqlDataAdapater (cmd);DataTable dt=new DataTable();da.fill(dt);此时dt中就会有数据