CSDN-CSDN社区-.NET技术-.NET Framework

收藏 数据访问层出现了问题: (类型不匹配)[问题点数:30,结帖人:appreciatewo]

楼主发表于:2008-06-16 15:14:54
private const string SP_INSERTREQUIREMENTCOURSE = "usp_require_InsertRequirementCourse";

private const string PARA_COURSE_ID = "@courseId";
private const string PARA_COURSE_NAME = "@courseName";
private const string PARA_TRAINED_OBJECT = "@trainedObject";
private const string PARA_TRAINED_FORM = "@trainedForm";
private const string PARA_RECOMMEND_AGENCY = "@recommendAgency";
private const string PARA_TRAIN_BUDGET = "@trainBudget";
private const string PARA_ARRANGE_TIME = "@arrangeTime";
private const string PARA_TRAIN_OBJECTIVE = "@trainObjective";
private const string PARA_FUNDING_REQUIREMENT = "@fundingRequirement";

public int InsertRequirementCourse(RequirementCourseInfo requireCourseInfo) {
SqlParameter[] requireCourseParameters = GetRequirementCourseInsertParameters();
requireCourseParameters[0].Value = requireCourseInfo.CourseId;
requireCourseParameters[1].Value = requireCourseInfo.CourseName;
requireCourseParameters[2].Value = requireCourseInfo.TrainedObject;
requireCourseParameters[3].Value = requireCourseInfo.TrainedForm;
requireCourseParameters[4].Value = requireCourseInfo.RecommendAgency;
requireCourseParameters[5].Value = requireCourseInfo.TrainBudget;
requireCourseParameters[6].Value = requireCourseInfo.ArrangeTime;
requireCourseParameters[7].Value = requireCourseInfo.TrainedObject;
requireCourseParameters[8].Value = requireCourseInfo.FundingRequirement;

int affectRows = SQLHelper.RunProcedureQuery(SP_INSERTREQUIREMENTCOURSE, requireCourseParameters);
return affectRows;
}

public static SqlParameter[] GetRequirementCourseInsertParameters() {
SqlParameter[] parameters = SQLHelper.GetCachedParameters(SP_INSERTREQUIREMENTCOURSE);

if (parameters == null) {
parameters = new SqlParameter[]{
new SqlParameter(PARA_COURSE_ID,SqlDbType.UniqueIdentifier,16),
new SqlParameter(PARA_COURSE_NAME,SqlDbType.VarChar,50),
new SqlParameter(PARA_TRAINED_OBJECT,SqlDbType.VarChar,50),
new SqlParameter(PARA_TRAINED_FORM,SqlDbType.VarChar,520),
new SqlParameter(PARA_RECOMMEND_AGENCY,SqlDbType.VarChar,520),
new SqlParameter(PARA_TRAIN_BUDGET,SqlDbType.VarChar,50),
new SqlParameter(PARA_ARRANGE_TIME,SqlDbType.VarChar,50),
new SqlParameter(PARA_TRAIN_OBJECTIVE,SqlDbType.VarChar,50),
new SqlParameter(PARA_FUNDING_REQUIREMENT,SqlDbType.VarChar,50),
};
}
return parameters;
}
问题补充:courseId uniqueidentifier Unchecked
courseName varchar(50) Checked
trainedObject varchar(50) Checked
trainedForm varchar(520) Checked
recommendAgency varchar(520) Checked
trainBudget varchar(50) Checked
arrangeTime varchar(50) Checked
trainObjective varchar(50) Checked
fundingRequirement varchar(50) Checked
Unchecked

数据库为如上:
回复次数:2
  • badtank用户头像
  • badtank
  • (人是人他妈生的)
  • 等 级:
#1楼 得分:15回复于:2008-06-16 16:21:19
如果仅仅是一句insert sql 语句,那么建议你使用sql来替代存储过程来完成插入功能。
uniqueidentifier 这个类型的长度是32位。
#2楼 得分:15回复于:2008-06-16 18:03:19
不是查询登录.不怕SQL注入

用储蓄过程很好..

你的问题.?没看到
相关问题
请教高手有关数据访问中类型匹配的问题VC/MFC / 基础类- CSDN社区 ...
为什么会出现"找不到类型或命名空间名称..." 这样的错误提示? .NET技术 ...
关于填充dataset,架构不匹配的问题.NET技术/ VB.NET - CSDN社区 ...
有谁知道这个错误的原因? Web 开发/ ASP - CSDN社区community.csdn.net
如何将数据访问层包装成Webservice,可以支持直接访问数据库或调用 ...
高分求一个完美点的数据访问层,要及时关闭连接,及时释放资源的 ...