• aa


    问题:如何获取SQL Server数据库中指定条件下的记录数?

    第一步,连接数据库:

    1.创建数据库连接:

    SqlConnection Connection = new SqlConnection();

    2.设置连接字符串:

    Connection.ConnectionString = String.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3}", serverAddress, dbName, userName,key);

    第二步,对SQL Server数据库执行SQL语句:

    1. 创建SQL字符串:

    string strSQL=String.Format("select {0} from {1} where {2}", fields, tableName, condition);

    2.执行SQL语句:

    SqlCommand cmd = new SqlCommand(strSQL, Connection);

    SqlCommand对象三种方法的理解:

    a.cmd.ExecuteNonQuery();它的返回值类型为int型。多用于执行增加,删除,修改数据,返回受影响的行数。隐含的一个用法是验证SQL语句的正确性:

     1 private bool ValidateSQL(string sql)
     2 {
     3     bool bResult;
     4     SqlCommand cmd = Connection.CreateCommand();
     5     cmd.CommandText = "SET PARSEONLY ON";
     6     cmd.ExecuteNonQuery();
     7     try
     8     {
     9         cmd.CommandText = sql;
    10         cmd.ExecuteNonQuery();
    11         bResult = true;
    12     }
    13     catch (Exception Ex)
    14     {
    15         MessageBox.Show(String.Format("{0}{1}SQL语句有误,请检查无误后再查询!", Ex.Message, Environment.NewLine),"提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
    16         bResult = false;
    17     }
    18     finally
    19     {
    20         cmd.CommandText = "SET PARSEONLY OFF";
    21         cmd.ExecuteNonQuery();
    22     }
    23     return bResult;
    24 }
    View Code

    b.cmd.ExecuteReader();它的返回类型为SqlDataReader。此方法用于用户进行的查询操作。使用SqlDataReader对象的Read();方法进行逐行读取。
    c.cmd.ExecuteScaler();它的返回值类型多位int类型。它返回的多为执行select查询。得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。

  • 相关阅读:
    为什么数据库连接很消耗资源 转
    在Eclipse中编写servlet时出现"The import javax.servlet cannot be resolved" 问题解决办法
    multipart/form-data post 方法提交表单,后台获取不到数据
    java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
    Eclipse/myEclipse 代码提示/自动提示/自动完成设置(转)
    PL/SQL破解方法(不需要注册码)
    Java
    tomcat开发环境配置
    文件操作权限
    Java版office文档在线预览
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/3386967.html
Copyright © 2020-2023  润新知