データベース情報をVB.NET MVCプロジェクトのExcelファイルにエクスポートしています。VB.NETストアプロシージャの実行 - 編集
私はExcelの部分を実行しており、ハードコードテーブルをExcelに書き出すことができます。しかし、私は自分のデータベースのフィールドでそのテーブルを埋める必要があります。私は必要なすべての情報を取得するストアドプロシージャを持っていますが、実行するのに問題があり、必要なフィールドを必要な順番に配置することができます。
これが私のエクセルシートを作る方法です。
Dim blah = New DataTable("testing")
blah.Columns.Add("Col1", Type.GetType("System.String"))
blah.Columns.Add("Col2", Type.GetType("System.String"))
'Below will be switched out for table data, this is where the try for the SQL will end up
blah.Rows.Add(1, "hello")
blah.Rows.Add(2, "hello")
blah.Rows.Add(3, "hello")
blah.Rows.Add(4, "hello")
Dim grid = New GridView()
grid.DataSource = blah
grid.DataBind()
Response.ClearContent()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment; filename=Test-Report.xls")
Response.ContentType = "application/ms-excel"
Response.Charset = ""
Dim sw = New StringWriter()
Dim htw = New HtmlTextWriter(sw)
grid.RenderControl(htw)
Response.Output.Write(sw.ToString())
Response.Flush()
Response.End()
EDIT ----私は、戻り値を持っており、それを反復処理し、行の値を取ることができるというストアドプロシージャを実行するために使用する構文と値を考え出すとの問題を抱えています。私は大量のGoogle検索を行いました。ほとんどの場合、戻り値を持たないプロシージャが格納されています。または、1つの値が戻された問合せがあり、多くのフィールドを戻しています。
私はこのようになります実行しているストアドプロシージャ:
SELECT
i.insurer_name
,cs.customer_name
,cs.customer_address
,cs.claim_number
,cs.work_type
,anu.FirstName
,anu.LastName
,l.location_name
,cs.completed_date
,q.question_text
,a.answer_text
FROM insurer i
inner join completed_survey cs on cs.insurer_id = i.insurer_id
inner join AspNetUsers anu on anu.Id = cs.user_id
inner join location l on l.location_id = cs.location_id
inner join answer a on a.complete_id = cs.completed_id
inner join question q on q.question_id = a.question_id
ORDER BY i.insurer_name, cs.survey_score desc
EDIT 2 ----私は私が使用しているどのようなDB接続答える方法を全くわかりません。私は、Webの設定で接続文字列を持っているし、自分のコードのほとんどはあなたのサンプルクエリについては
Private db As New SurveyDBModel
db.table_name.ToList()
db.table_name.Add(new_row)
あなたはSPを実行しようとしていますか?また、[ストアドプロシージャの実行](https://stackoverflow.com/questions/5991877/execute-a-sql-stored-procedure-and-process-the-results)の重複した複製 –
しかし、私はそれを取得することができませんrun_ - あなたが抱えている問題について具体的に記述してください。 "私は問題を抱えています"とは、有効な問題文ではありません。 –
どのDB接続ライブラリを使用していますか? DBに接続して手順を実行する際に使用しているコードを表示してください。 ADO.NETを使用している場合、通常は結果を直接DataSetまたはDataTableに数行でエクスポートできます。また、RDBMSとは何ですか? SQLサーバー? – ADyson