110,555
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace doughty_cn
{
/// <summary>
/// DBOperate 的摘要说明。
/// </summary>
public class DBOperate
{
public DBOperate()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//输入SELECT语句,获得返回数据集
public static DataTable SelectFormForum(string sql,int start,int size,string tablename)
{
try
{
SqlConnection sqlConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DBConnection"]);
SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql, sqlConnection);
DataSet returns = new DataSet();
sqlAdapter1.Fill(returns,start,size,tablename);
return returns.Tables[0];
}
catch (Exception ex)
{
throw (ex);
}
}
public static DataTable SelectFormForum(string sql)
{
try
{
SqlConnection sqlConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DBConnection"]);
SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql, sqlConnection);
DataSet returns = new DataSet();
sqlAdapter1.Fill(returns);
return returns.Tables[0];
}
catch (Exception ex)
{
throw (ex);
}
}
//返回一条记录
public static DataRow GetDataRow(string sql,string TableName,string dbname)
{
try
{
SqlConnection sqlConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[dbname]);
SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql, sqlConnection);
DataSet product = new DataSet();
sqlAdapter1.Fill(product, TableName);
return product.Tables[0].Rows[0];
}
catch (Exception ex)
{
throw (ex);
}
}
//执行SQL语句,如UPDATE,INSERT等
public static void ExcSQL(string s)
{
SqlConnection sqlConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DBConnection"]);
try
{
SqlCommand sqlCmd =new SqlCommand(s,sqlConnection);
sqlConnection.Open();
sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw (ex);
}
finally
{
sqlConnection.Close();
}
}
//获取用户短消息条数
public static int ShortMsgCount(string UserName)
{
try
{
string s="SELECT COUNT(*) AS cun FROM ShortMessage WHERE (systemmsg = 0) AND (Readed = 0) AND (UserName = '"+UserName+"')";
DataRow dr=GetDataRow(s,"ShortMessage","DBConnection");
return System.Convert.ToInt32(dr["cun"].ToString());
}
catch
{
return 0;
}
}
//计算总共有多少条问题
public static int CalculateQRecord(int BID,int SID,int solved)
{
try
{
string s="SELECT COUNT(*) AS co FROM Questions WHERE (BigClass_ID = "+BID+") AND (SmallClass_ID = "+SID+") AND (kind > 0) AND (kind < 5) AND (solved = "+solved+")";
DataRow dr=GetDataRow(s,"Questions","DBConnection");
return System.Convert.ToInt32(dr["co"].ToString());
}
catch
{
return 0;
}
}
//计算总共有多少条回复
public static int CalculateARecord(int QID)
{
try
{
string s="SELECT COUNT(*) AS co FROM Answers WHERE (Question_ID = "+QID+")";
DataRow dr=GetDataRow(s,"Answers","DBConnection");
return System.Convert.ToInt32(dr["co"].ToString());
}
catch
{
return 0;
}
}
}
}
///========================================
/// <summary>
/// 得到数据库连接字符串
/// </summary>
/// <returns></returns>
///========================================
public static string getSqlConnectionString()
{
System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
string retStr = ((string)(configurationAppSettings.GetValue("sqlConnection1.ConnectionString", typeof(string))));
return retStr;
}
要不这样用<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="DBConnection" value="workstation id=doughty;server=localhost;packet size=4096;user id=sa;initial catalog=doughty_bbs;persist security info=True;password=doughty"></add>
<add key="Edition" value="版本:V1.06"/>
<add key="BorowsArea" value="1"/><!-- 允许过客浏览的范围:1所有 2列表 3禁止进入 -->
<add key="AllowReg" value="1"/><!-- 允许用户注册:1允许 2禁止(当用户量足够后停止注册,可启用该设置) -->
<add key="SmtpServer" value=""/><!-- Smtp服务器 -->
<add key="MailFrom" value=""/><!-- 邮件发送者地址 -->
<add key="MainList" value="21"/><!-- 帖子列表界面每页显示条数 范围:1-100 -->
<add key="BrowerList" value="10"/><!-- 帖子浏览界面每页显示条数 范围:1-100 -->
<add key="ForumName1" value="勇敢者论坛"/>
<!-- 默认网站名,用于header的链接-->
<add key="DomainName1" value="bbs.doughty.cn"/>
<add key="ForumName2" value="威海就业信息网论坛"/>
<add key="DomainName2" value="e-0631"/><!-- 包含doughty的网站域名如:bbs.doughty.cn 或 doughty.cn,用于header的链接-->
<add key="browerspopup" value="http://www.doughty.cn"/><!-- browers.aspx的弹出页面,为空不弹出(页面弹出广告用) -->
<add key="Enable" value="1"/><!-- 论坛开放1/关闭0 -->
<add key="StartTime" value="08:00:00"/><!-- 论坛开放时间开始 -->
<add key="EndTime" value="20:00:00"/><!-- 论坛开放时间结束 -->
</appSettings>
<system.web>
<!-- 动态调试编译
设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
false 将提高此应用程序的运行时性能。
设置 compilation debug="true" 以将调试符号(.pdb 信息)
插入到编译页中。因为这将创建执行起来
较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为
false。有关更多信息,请参考有关
调试 ASP.NET 文件的文档。
-->
<compilation defaultLanguage="c#" debug="true">
<compilers>
<compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".cs" compilerOptions="/d:DEBUG;TRACE"/></compilers>
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<!-- 自定义错误信息
设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。
为每个要处理的错误添加 <error> 标记。
"On" 始终显示自定义(友好的)信息。
"Off" 始终显示详细的 ASP.NET 错误信息。
"RemoteOnly" 只对不在本地 Web 服务器上运行的
用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便
不向远程客户端显示应用程序的详细信息。
-->
<customErrors mode="RemoteOnly"/>
<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是 "Windows"、
"Forms"、 "Passport" 和 "None"
"None" 不执行身份验证。
"Windows" IIS 根据应用程序的设置执行身份验证
(基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后
在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
"Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
它为成员站点提供单独登录和核心配置文件服务。
-->
<authentication mode="Forms">
<forms name=".doughty_FD_COOKIE" loginUrl="Logon.aspx" protection="All" timeout="120">
<!-- protection="[All|None|Encryption|Validation]" -->
</forms>
</authentication>
<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->
<authorization>
<allow users="*"/>
<!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>
<!-- 应用程序级别跟踪记录
应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
根目录中的 "trace.axd" 页来查看
应用程序跟踪日志。
-->
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="40"/>
<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
<!--<pages validateRequest="false"/>-->
<httpRuntime maxRequestLength="20000"/>
<xhtmlConformance mode="Legacy"/></system.web>
</configuration>