在应使用条件的上下文(在 'Admin' 附近)中指定了非布尔类型的表达式

zyydj_10 2012-05-17 03:57:34
DAL层

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using DBUtility;//Please add references
namespace DAL
{
/// <summary>
/// 根据用户名获取用户ID
/// </summary>
public DataSet GetSessonUserID(string UserName)
{
StringBuilder strsql = new StringBuilder();
strsql.Append("select UserID ");
strsql.Append("from Accounts_Users ");

if (UserName!="")
{
strsql.Append("where " + UserName);
}
return SQLHelper.Query(strsql.ToString());
}
/// <summary>
/// 根据用户名获取用户类别ID(RoleID)
/// </summary>
public DataSet GetSessionRoleID(string UserName)
{
StringBuilder strsql = new StringBuilder();
strsql.Append("select RoleID ");
strsql.Append("from Accounts_Users ");
if (UserName.Trim()!="")
{
strsql.Append("where " + UserName);
}
return SQLHelper.Query(strsql.ToString());
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserID,UserName,UserPassWord,TrueName,Sex,Age,BirthDay,Phone,Email,EmployeeID,DepartmentID,UserType ");
strSql.Append(" FROM Accounts_Users ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return SQLHelper.Query(strSql.ToString());
}



web层

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DBUtility;
using Model;
using DAL;
using BLL;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class Admin_AddNews : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
Response.Write("<script>alert('您还没有登录!')</script>");
Response.Redirect("/Admin/Login.aspx");
}
if (!IsPostBack)
{
BindNewsTypeBind();
}

}
private void BindNewsTypeBind()
{
BLL.Accounts_NewsType bll = new BLL.Accounts_NewsType();

DataSet ds = bll.GetAllList();
this.NewsType.DataSource = ds.Tables[0];
this.NewsType.DataTextField = "NewsType";
this.NewsType.DataValueField = "NewsTypeID";
this.NewsType.DataBind();

}
protected void NewsType_SelectedIndexChanged(object sender, EventArgs e)
{
BLL.Accounts_NewsType bll = new BLL.Accounts_NewsType();
DataSet ds = bll.GetList(NewsType.SelectedItem.Value);
if (ds.Tables[0].Rows.Count>0)
{
this.NewsType.DataSource = ds;
this.NewsType.DataTextField = "NewsType";
this.NewsType.DataValueField = "NewsTypeID";
this.NewsType.DataBind();
}
//string NewsTypeID = NewsType.SelectedValue;
//BindNewsTypeBind();
}

protected void SaveBtn_Click(object sender, EventArgs e)
{
BLL.Accounts_Users UsersBll = new BLL.Accounts_Users();
BLL.Accounts_News bll = new BLL.Accounts_News();
ImageUpLoad.SaveAs(Server.MapPath("../ImageUpLoad/"+ImageUpLoad.FileName));
try
{
if (TitleText.Text.Trim() == "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text != "")
{
Response.Write("<script>alert('请输入新闻标题!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName == "" && CKEditorControl1.Text != "")
{
Response.Write("<script>alert('请选择一张图片作为标题图片!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text == "")
{
Response.Write("<script>alert('请输入新闻内容!')</script>");
}
else if (TitleText.Text.Trim() == "" && ImageUpLoad.FileName == "" && CKEditorControl1.Text == "")
{
Response.Write("<script>alert('请填写您要发表的新闻标题、标题图片、新闻内容,并且选择对应的新闻类别!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text != "")
{
Model.Accounts_News model = new Model.Accounts_News();
model.NewsTitle = TitleText.Text;
model.NewsPicture = "../ImageUpLoad/" + ImageUpLoad.FileName;
model.NewsTypeID = Convert.ToInt32(NewsType.SelectedItem.Value);
model.NewsText = CKEditorControl1.Text;
model.NewsDateTime = DateTime.Now;
model.UserID = Convert.ToInt32(UsersBll.GetSessonUserID((string)Session["UserName"]));//从Session中获取当前登录用户的用户名
model.RoleID = Convert.ToInt32(UsersBll.GetSessionRoleID((string)Session["Description"]));//从Session中获取当前登录用户的组
bll.Add(model);
Response.Write("<script>alert('发布成功!')</script>");
}
}
catch (Exception ex)
{

Response.Write("错误:"+ex);
}




}
}

web页面

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AddNews.ascx.cs" Inherits="Admin_AddNews" %>
<%@ Register Assembly="CKFinder" Namespace="CKFinder" TagPrefix="CKFinder" %>
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
<tr>
<td width="5%" style="text-align: left; height: 20px; width: 50%;">
标    题:      <asp:TextBox ID="TitleText"
runat="server" Width="350px"></asp:TextBox>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td style="text-align: left; height: 20px;">
<asp:UpdatePanel ID="NewsTypeUpdata" runat="server" width="150px">
<ContentTemplate>
类    别:     
<asp:DropDownList ID="NewsType" runat="server" AutoPostBack="true" Style="width: 150px;" OnSelectedIndexChanged="NewsType_SelectedIndexChanged">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>

</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td style="text-align: left; height: 20px;">
标题图片:  <asp:FileUpload ID="ImageUpLoad" runat="server" /><%--  
<asp:Button ID="UpLoadImages" Text="上传图片" runat="server" />--%>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="上传文件须为图片格式!" style="color:Red;"
ControlToValidate="ImageUpLoad" Display="Dynamic" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.JPG|.gif|.GIF|.png|.PNG|.jpeg|.JPEG|.bmp|.BMP)$"></asp:RegularExpressionValidator>

</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="3" style="text-align: center;">
<asp:UpdatePanel ID="AddNews" runat="server">
<ContentTemplate>
<script language="javascript" type="text/javascript">
CKEDITOR.replace('AddNewsTxt');
</script>
<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server"></CKEditor:CKEditorControl>
</ContentTemplate>
</asp:UpdatePanel>

</td>
</tr>
<tr>
<td>
<asp:Button ID="SaveBtn" Text="提交" runat="server" onclick="SaveBtn_Click" />  <asp:Button ID="CancleBtn"
Text="取消" runat="server" />
</td>
<td>
</td>
<td>
</td>
</tr>
</table>

...全文
560 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xudlQQ123 2012-05-18
  • 打赏
  • 举报
回复
strsql.Append("where UserName='" + UserName).Append("'");
zyydj_10 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
查询条件貌似有问题
strsql.Append("where " + UserName);


=》

strsql.Append(string.Format("where UserName='{0}'",UserName));
[/Quote]改成你给的那中方法还是这个错误啊
zyydj_10 2012-05-18
  • 打赏
  • 举报
回复
我改成了这样的

public DataSet GetSessonUserID(string UserName)
{
string sqlstring = ("SELECT UserID FROM Accounts_Users WHERE UserName=@UserName");
SqlParameter[] sqlparmeter =
{
new SqlParameter("@UserName",SqlDbType.VarChar),
};
Model.Accounts_Users model = new Model.Accounts_Users();
sqlparmeter[0].Value = UserName;
return SQLHelper.ExecuteDataSet(sqlstring, sqlparmeter);
}

但是在获取的时候是dataset我需要的是int,怎么转换过来啊

protected void SaveBtn_Click(object sender, EventArgs e)
{
BLL.Accounts_Users UsersBll = new BLL.Accounts_Users();
BLL.Accounts_News bll = new BLL.Accounts_News();
ImageUpLoad.SaveAs(Server.MapPath("../ImageUpLoad/"+ImageUpLoad.FileName));
try
{
if (TitleText.Text.Trim() == "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text != "")
{
Response.Write("<script>alert('请输入新闻标题!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName == "" && CKEditorControl1.Text != "")
{
Response.Write("<script>alert('请选择一张图片作为标题图片!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text == "")
{
Response.Write("<script>alert('请输入新闻内容!')</script>");
}
else if (TitleText.Text.Trim() == "" && ImageUpLoad.FileName == "" && CKEditorControl1.Text == "")
{
Response.Write("<script>alert('请填写您要发表的新闻标题、标题图片、新闻内容,并且选择对应的新闻类别!')</script>");
}
else if (TitleText.Text.Trim() != "" && ImageUpLoad.FileName != "" && CKEditorControl1.Text != "")
{
Model.Accounts_News model = new Model.Accounts_News();
string UName= UsersBll.GetSessonUserID((string)Session["UserName"]).ToString();
model.NewsTitle = TitleText.Text;
model.NewsPicture = "../ImageUpLoad/" + ImageUpLoad.FileName;
model.NewsTypeID = Convert.ToInt32(NewsType.SelectedItem.Value);
model.NewsText = CKEditorControl1.Text;
model.NewsDateTime =Convert.ToDateTime( DateTime.Now.Year+"/"+DateTime.Now.Month+"/"+DateTime.Now.Day);
model.UserID = Convert.ToInt32(UName);//从Session中获取当前登录用户的用户名并查询此用户的ID
model.RoleID = Convert.ToInt32(UsersBll.GetSessionRoleID((string)Session["Description"]).ToString());//这里报错
bll.Add(model);
Response.Write("<script>alert('发布成功!')</script>");
}
}
catch (Exception ex)
{

Response.Write("错误:"+ex);
}

  • 打赏
  • 举报
回复

查询条件貌似有问题
strsql.Append("where " + UserName);


=》

strsql.Append(string.Format("where UserName='{0}'",UserName));

62,041

社区成员

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

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

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

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