📄 surveyfield.cs
字号:
namespace PowerEasy.SqlServerDal.Survey
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.IDal.Survey;
using PowerEasy.Model.Survey;
using PowerEasy.SqlServerDal;
using System;
using System.Data;
using System.Data.Common;
using System.Text;
public class SurveyField : ISurveyField
{
public bool Add(int surveyId, string questionInfoList)
{
return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionMaxId = QuestionMaxId + 1,QuestionField = @QuestionField Where SurveyId = @SurveyId");
}
public bool AddFieldToTable(SurveyFieldInfo surveyFieldInfo, string tableName)
{
string addColumnToTableSql = GetAddColumnToTableSql(surveyFieldInfo, tableName);
Database database = DatabaseFactory.CreateDatabase();
DbCommand sqlStringCommand = database.GetSqlStringCommand(addColumnToTableSql);
try
{
database.ExecuteNonQuery(sqlStringCommand);
return true;
}
catch
{
return false;
}
}
public bool Delete(int surveyId, string questionInfoList)
{
return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionField = @QuestionField Where SurveyId = @SurveyId");
}
public bool DeleteColumn(int questionId, int surveyId)
{
StringBuilder builder = new StringBuilder();
builder.Append(" ALTER TABLE ");
builder.Append("PE_SurveyRecord" + surveyId);
builder.Append(" DROP COLUMN ");
builder.Append("Q" + questionId);
Database database = DatabaseFactory.CreateDatabase();
DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString());
try
{
database.ExecuteNonQuery(sqlStringCommand);
return true;
}
catch
{
return false;
}
}
public bool DeleteInputColumn(int questionId, int surveyId)
{
StringBuilder builder = new StringBuilder();
builder.Append(" ALTER TABLE ");
builder.Append("PE_SurveyRecord" + surveyId);
builder.Append(" DROP COLUMN ");
builder.Append("Q" + questionId + "Input");
Database database = DatabaseFactory.CreateDatabase();
DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString());
try
{
database.ExecuteNonQuery(sqlStringCommand);
return true;
}
catch
{
return false;
}
}
public static string GetAddColumnToTableSql(SurveyFieldInfo surveyFieldInfo, string tableName)
{
int questionType = surveyFieldInfo.QuestionType;
StringBuilder builder = new StringBuilder();
builder.Append("ALTER TABLE [");
builder.Append(tableName);
builder.Append("] ADD [");
builder.Append("Q" + surveyFieldInfo.QuestionId);
builder.Append("] ");
switch (questionType)
{
case 0:
builder.Append("[nvarchar] (255)");
break;
case 1:
builder.Append("[ntext]");
break;
case 2:
builder.Append("[nvarchar] (5)");
switch (surveyFieldInfo.InputType)
{
case 1:
builder.Append(",[");
builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
builder.Append("] ");
builder.Append("[nvarchar] (255)");
break;
case 2:
builder.Append(",[");
builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
builder.Append("] ");
builder.Append("[ntext]");
break;
}
break;
case 3:
builder.Append("[nvarchar] (50)");
switch (surveyFieldInfo.InputType)
{
case 1:
builder.Append(",[");
builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
builder.Append("] ");
builder.Append("[nvarchar] (255)");
break;
case 2:
builder.Append(",[");
builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
builder.Append("] ");
builder.Append("[ntext]");
break;
}
break;
case 4:
builder.Append("[nvarchar] (5)");
break;
case 5:
builder.Append("[nvarchar] (50)");
break;
case 6:
builder.Append("[nvarchar] (50)");
break;
case 7:
builder.Append("[nvarchar] (5)");
break;
case 8:
builder.Append("[nvarchar] (255)");
break;
case 9:
builder.Append("[nvarchar] (255)");
break;
}
return builder.ToString();
}
public string GetXmlFieldBySurveyId(int surveyId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@SurveyId", DbType.Int32, surveyId);
object obj2 = DBHelper.ExecuteScalarSql("SELECT QuestionField FROM PE_Survey WHERE SurveyId=@SurveyId", cmdParams);
if (obj2 == null)
{
return null;
}
return Convert.ToString(obj2);
}
public bool Update(int surveyId, string questionInfoList)
{
return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionField = @QuestionField Where SurveyId = @SurveyId");
}
private static bool UpdateQuestionField(int surveyId, string questionInfoList, string sql)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@QuestionField", DbType.String, questionInfoList);
cmdParams.AddInParameter("@SurveyId", DbType.Int32, surveyId);
return DBHelper.ExecuteSql(sql, cmdParams);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -