Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将对象值添加到数据库_C#_Asp.net_Database - Fatal编程技术网

C# 将对象值添加到数据库

C# 将对象值添加到数据库,c#,asp.net,database,C#,Asp.net,Database,我正在会话类中存储申请者文本框数据。我调用会话类并将其存储在对象中 如何循环遍历这些项,并将它们添加到数据库中 我可以循环并连接成一个字符串吗?我使用的是数据访问层和oracle数据库 这是DAL中插入的字符串。我没有功能完成,因为我不知道在这一点上传递什么。但是,我确实有一个runquery函数,可以将字符串sql传递到其中 public void AddJobApplication() { string sql = "insert into JOBQUESTIONS (JOBAPPLICAT

我正在会话类中存储申请者文本框数据。我调用会话类并将其存储在对象中

如何循环遍历这些项,并将它们添加到数据库中

我可以循环并连接成一个字符串吗?我使用的是数据访问层和oracle数据库

这是DAL中插入的字符串。我没有功能完成,因为我不知道在这一点上传递什么。但是,我确实有一个runquery函数,可以将字符串sql传递到其中

public void AddJobApplication()
{
string sql = "insert into JOBQUESTIONS (JOBAPPLICATIONID, QUESTIONTEXT, TYPEID, HASCORRECTANSWER, CORRECTANSWER, ISREQUIRED) VALUES (" + JobID + ", \'" + QuestionText + "\', " + TypeID + ", " + HasCorrectAnswer + ", \'" + CorrectAnswer + "\', " + IsRequired + ")";
 RunQuery(sql);
}

这是我的课程

public class JobApplicantSession
{

    public JobApplication ApplicationSession
    {

      get {if (HttpContext.Current.Session["Application"] != null)
               return (JobApplication)HttpContext.Current.Session["Application"];
           return null; }

      set{ HttpContext.Current.Session["Application"] = value; }
    }


}
然后,我可以检索该会话并将其存储在对象中

JobApplicantSession _sessions = new JobApplicantSession();
JobApplication _application;
_application = new JobApplication(jobID);
_sessions.ApplicationSession = _application;   //_application holds all my saved textbox texts

JobApplication application;

var jas = new JobApplicantSession();
application = jas.ApplicationSession;   //holds all my session text
我想在表JOBQUESTIONS中插入多条记录,并且我在应用程序变量中有所有这些记录

谢谢你

  • 首先,与其串联参数,不如使用参数化查询,因为当前您面临SQL注入攻击。这篇文章可以让您开始:

  • 传递JobApplication对象tp SQL函数(或者如果需要,以列表或数组的形式传递它的集合),您可以循环遍历每个记录并对其运行插入查询。这是一个性能问题,因为您多次访问数据库。但是如果您的应用程序很小,那么它就不是一个大问题。有很多方法可以使用Dataset之类的工具一次发送多条记录的插入信息,但这对您目前来说可能是一个小小的进步,因此,如果您不必研究它,我建议您只需循环执行JobApplicationCollection

  • 两件事:
    首先,它似乎是一个保存特定作业应用程序数据的对象。你不能在上面做迭代。您可能需要一个JobApplication列表,并且您的对象应用程序应该类似于
    List applications=newlist()
    如果对象实现了Ienumerable接口,则只能使用foreach对其进行迭代。(一般来说是对象数组或对象列表)


    对于在数据库中插入数据,一旦能够迭代和构造查询,我建议使用多个值构建一个insert语句。然后调用它一次以在数据库中插入数据。请一定要照顾好。另外,如果您认为使用多个insert语句适合您的需要,那么请使用

    我认为您无法连接您必须运行一个循环并将每个答案插入到各自的问题ID中是否要在表JOBQUESTIONS中插入多条记录?您在_session变量中有所有这些记录吗?@Habib是的,这就是我想要做的。我将如何在对象中循环?它抱怨“GetEnumerator”我试图循环遍历对象,但它抱怨“GetEnumerator”foreach(应用程序中的var o)以及应用程序的类型是什么?你不能在JobApplication对象上运行foreach循环,你需要使用列表或数组对象,定义应该如下:List applications=new List();我该怎么做?“对于在数据库中插入数据,一旦能够迭代和构造查询,我建议使用多个值构建一个insert语句。”