使用gridview控件绑定数据时遇到一些问题,急!

zhanranran 2009-10-08 10:29:42
我在course.aspx页面的源代码下使用了gridview控件,然后在aspx.cs代码中加载了这样的代码
protected void Page_Load(object sender, EventArgs e)
{

SqlDataReader dr = DataCommon.GetDataByReader(pro_1);
Web2ASPNET2.CommonOperation.DataBinder.BindGridViewData(GridView1 ,dr );

}
中间代码里有数据连接等一些代码:(与数据库连接的那条语句我写在了web.config里了)
public class OperateDatabase
{
#region 定义属性

/// <summary>
/// 定义在web.config中标识连接字符串的Name属性的值
/// </summary>
private static string connectionStringNameInWebConfig = "SQLSERVERCONNECTIONSTRING";
public static string ConnectionStringNameInWebConfig
{
get
{
return connectionStringNameInWebConfig;
}
set
{ ///字符串不能为空或空引用
if(!string.IsNullOrEmpty(value))
{
connectionStringNameInWebConfig = value;
}
}
}

public class DataCommon
{
private const string IDPARAM = "@ID";

public DataCommon() { }

/// <summary>
/// 执行不带参数的存储过程,并返回SqlDataReader对象
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static SqlDataReader GetDataByReader(string procName)
{
///定义SqlDataReader对象
SqlDataReader dr = null;

///执行存储过程
OperateDatabase.RunProc(procName,out dr);

///返回结果
return dr;
}
读取数据代码:
public class DataCommon
{
private const string IDPARAM = "@ID";

public DataCommon() { }

/// <summary>
/// 执行不带参数的存储过程,并返回SqlDataReader对象
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static SqlDataReader GetDataByReader(string procName)
{
///定义SqlDataReader对象
SqlDataReader dr = null;

///执行存储过程
OperateDatabase.RunProc(procName,out dr);

///返回结果
return dr;
}
...全文
164 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanranran 2009-10-09
  • 打赏
  • 举报
回复
好的,谢谢你
  • 打赏
  • 举报
回复
对于不熟悉数据库连接串如何写,可以这样自动获取正确的连接串:

在vs的“服务浏览器”中首先选择“添加连接”,然后在弹出的窗口中选择正确的数据源(SQL Server),然后再弹出的新窗口中选择服务名->测试连接->确认,在可以在服务浏览器中查看、编辑数据库的时候,从服务浏览器的连接的属性(鼠标右键菜单中的“属性”)页面上就有自动生成的数据库连接串,选中它然后里哟娜剪贴板拷贝到程序中。
  • 打赏
  • 举报
回复
恐怕我看下去 --> 恐怕我没有心情看下去

所以赶紧把我在前几行看到的问题说一下。
  • 打赏
  • 举报
回复
你的代码太长,恐怕我看下去。尤其是看了前几行,你的Page_Load中难道每一次回发都读取数据并绑定控件?

这是极其缓慢的程序,而且有可能有逻辑错误(例如在回发之前数据库恰好被其它人修改了,那么绑定重建的控件就有机会在asp.net回填上一次页面Render时的状态时发生运行时错误)。程序如果必须这样编写才能运行正常,其它问题就不用去解决了。

正常的写法,是放在 (!IsPostback) 判断中去绑定。页面仅仅在第一次才绑定数据,以后从来都不在Page_Load绑定数据。
sealyna 2009-10-09
  • 打赏
  • 举报
回复
你看一下,你的连接配置是否正确,如果实在查不出来,你可以用DataConnectionDialog dialog = new DataConnectionDialog();然后,再远行一下,手动配置成功了后,在在代码里调试,把conStr = dialog.ConnectionString;取出来,就是正确定的连接字符串.
carkiller 2009-10-09
  • 打赏
  • 举报
回复

<connectionStrings>
<add name="SQLSERVERCONNECTIONSTRING" connectionString="Data Source=(local);Initial Catalog=Grade_Sys;User ID=sa;Password=1234567890" />
</connectionStrings>
carkiller 2009-10-09
  • 打赏
  • 举报
回复
空格要正好多了少了都会出些奇怪的问题

<connectionStrings>
<add name="SQLSERVERCONNECTIONSTRING" connectionString="Data Source=(local);Initial Catalog=Grade_Sys;User ID=sa;Password=1234567890" />
</connectionStrings>
zhanranran 2009-10-09
  • 打赏
  • 举报
回复
恩,可以了,但是我的怎么跟数据库连接不上,我在网上查资料都设置好了,但是还是连接不上,你看这是我在web.config中写的字符:
<connectionStrings>
<add name ="SQLSERVERCONNECTIONSTRING" connectionString ="Data Source=(local);Initial Catalog=Grade_Sys;User ID=sa;Password=1234567890"/>
</connectionStrings >
PandaIT 2009-10-09
  • 打赏
  • 举报
回复
你配置文件里面Data source中间有空格没有?

如果还是不行换成server=.
zhanranran 2009-10-08
  • 打赏
  • 举报
回复
运行时总是提示我不支持datasource关键字,谁能说一下,谢谢了
zhanranran 2009-10-08
  • 打赏
  • 举报
回复
private static SqlConnection CreateSqlConnection()
{ ///获取连接字符串
string conStr = (string)Cache.GetData(connectionStringNameInWebConfig);

if(string.IsNullOrEmpty(conStr))
{
try
{ ///如果连接字符串为空,则从配置文件中获取连接字符串
conStr = ConfigurationManager.ConnectionStrings[connectionStringNameInWebConfig].ConnectionString;
}
catch(Exception ex)
{

throw new Exception(ex.Message,ex);
}
///把字符串添加到缓存中
Cache.CachingData(connectionStringNameInWebConfig,conStr);
}
if(!string.IsNullOrEmpty(conStr))
{ /// 创建数据库连接
//return(new SqlConnection(conStr));
SqlConnection conn = new SqlConnection(conStr);
return conn;
}
return null;
}
zhanranran 2009-10-08
  • 打赏
  • 举报
回复
private static SqlCommand CreateSqlCommand(string procName,
params SqlParameter[] prams)
{ ///创建数据库连接
SqlConnection sqlCon = CreateSqlConnection();
///打开数据库连接
if(sqlCon == null) return null;
if(sqlCon.State == ConnectionState.Closed)
{
sqlCon.Open();
}
///设置SqlCommand的属性
SqlCommand cmd = new SqlCommand(procName,sqlCon);
cmd.CommandType = CommandType.StoredProcedure;

///添加存储过程参数
if(prams != null)
{
foreach(SqlParameter parameter in prams)
{
cmd.Parameters.Add(parameter);
}
}

///添加返回参数
cmd.Parameters.Add(new SqlParameter(returnValueString,
SqlDbType.Int,4,ParameterDirection.ReturnValue,
false,0,0,string.Empty,DataRowVersion.Default,null));

///返回SqlCommand对象
return cmd;
}

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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