帮我查一下这里程序有没问题??

zou_471 2008-06-03 04:14:47
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;
}
}

}
}




问题是无法打开登录所请求的数据库 "doughty_bbs"。登录失败。
用户 'sa' 登录失败。
我拖了一个Gridview测试了一下没问题。
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
berwos 2008-06-03
  • 打赏
  • 举报
回复
        ///========================================
/// <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;

}
要不这样用
贫僧又回来了 2008-06-03
  • 打赏
  • 举报
回复
你的SQL是什么验证方式啊?

SQL SERVER 数据库的身份验证方式,分windows验证,SQL SERVER
验证两种。打开你的企业管理器。在工具菜单选择——〉SQL SERVER配置属性
(如果该项不可用,请展开你的数据库)切换到安全页,可以看到你的数据库
允许的验证方式。如果你不清楚该使用那个的话使用“SQL SERVER和Windows”
几个常用的数据库连接字符串:

1. 使用SQl提供者的,使用SQL SERVER验证方式连接SQL SERVER northwind数据库
@"server=localhost;database=northwind;UID=sa;PassWord=";

2. 使用SQl提供者的,使用windows集成验证方式连接SQL SERVER northwind数据库
@"Data Source=(local);Initial Catalog=Northwind;Trusted_Connection=Yes;";

3. 使用OLEDB提供者的,使用windows集成验证方式连接SQL SERVER northwind数据库
@"Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Northwind;Trusted_Connection=Yes;";

4. 使用OLEDB提供者的,使用SQL SERVER验证方式连接SQL SERVER northwind数据库
@"Provider=SQLOLEDB;server=localhost;database=northwind;UID=sa;PassWord=";

5. 使用OLEDB提供者的,连接Oracle数据库,这个得建立别名,应该很少人使用
@"Provider=MSDAORA;Data Source=MyDatabaseAlias; User ID=MyUID;Password=MyPassword";

6. 使用OLEDB提供者的,连接 Ms Access 数据库
@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Data\MyDatabase.MDB";

7. 使用OLEDB提供者的,连接 Ms Access 数据库 要带密码呢?
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\...\MySecure.MDB;
Jet OLEDB:System database=C:\...\MySystem.MDW;
User ID=MyUserName;Password=MyPassword;

8. 使用OLEDB提供者的,连接 Ms Access 数据库 还有一个带密码的
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\...\MyPasswordProtected.MDB;
Jet OLEDB:Database Password=MyPassword;
你看看吧!
berwos 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zou_471 的回复:]
C# code<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="DBConnection" connectionString="Data Source=localhost;Initial Catalog=doughty;Persist Security Info=True;User ID=sa;Password=doughty" providerName="System.Data.SqlClient"/>

</connectionStrings>

<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禁止进入 -->

[/Quote]
红色改蓝色 我这里2008
zou_471 2008-06-03
  • 打赏
  • 举报
回复
ConnectionString 属性尚未初始化。什么意思???
ericzhangbo1982111 2008-06-03
  • 打赏
  • 举报
回复
"Data Source=doughty;Initial Catalog=doughty_bbs;Persist Security Info=True;User ID=sa;password=doughty"
popcode 2008-06-03
  • 打赏
  • 举报
回复
用这个串试试
<add key="DBConnection" value="Data Source=local;Initial Catalog=doughty_bbs;User Id=sa;Password=doughty;pooling=true;Timeout=60"></add>
zou_471 2008-06-03
  • 打赏
  • 举报
回复
<?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>
贫僧又回来了 2008-06-03
  • 打赏
  • 举报
回复
把配置文件拿出来看看啊!
ericzhangbo1982111 2008-06-03
  • 打赏
  • 举报
回复
数据库无法连接
你的连接字符串错了吧

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧