I want to be able to return a table in my oracle db and send it to be displayed in my view in my MVC structure. My code looks something like this for my model:
public DataTable Show(int Poll_ID)
{
OleDbDataReader myOleDBDataReader = DBConn("SELECT * FROM MCQ_QUESTIONS WHERE Poll_ID = 1");
DataSet dataSet = new DataSet();
DataTable schemaTable = myOleDBDataReader.GetSchemaTable();
DataTable dataTable = new DataTable();
for (int cntr = 0; cntr < schemaTable.Rows.Count; ++cntr)
{
DataRow dataRow = schemaTable.Rows[cntr];
string columnName = dataRow["ColumnName"].ToString();
DataColumn column = new DataColumn(columnName, dataRow.GetType());
dataTable.Columns.Add(column);
}
myOleDBDataReader.Close();
myOleDbConnection.Close();
return dataTable;
But its not working. Any help is appreciated guys!! Code from my Controller class is as follows:
public ActionResult Details(int id)
{
PollModel poll = new PollModel();
DataTable dt = new DataTable();
dt = poll.Show(1);
//ViewData["Poll"] = poll.Show();
ViewData["Data"] = dt;
//ViewData["Poll"] = "Testing";
return View(dt);
}
Code in my view is as follows :
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace = "MvcApplication3.Models" %>
<%@ Import Namespace = "System.Data" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Details
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<%= Html.Encode(ViewData["Data"])%>
</asp:Content>