我正在將數據庫信息導出到VB.NET MVC項目的Excel文件中。VB.NET執行存儲過程 - 編輯
我已經完成了excel部分,並且能夠將一個硬代碼表導出到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()
編輯----我有找出語法和值用來運行具有返回值的存儲過程,並能夠來遍歷它,並採取行值的問題。我做了大量的谷歌搜索,大多數存儲過程沒有返回值或者返回一個值的查詢,我返回了很多字段。
存儲過程我跑看起來像這樣:
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 ----我不完全知道如何回答,我使用的是什麼數據庫連接。我在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) –
_but但我無法得到它run_ - 請具體說明您遇到的問題。 「我有麻煩」不是一個有效的問題陳述。 –
你正在使用什麼數據庫連接庫?請顯示您用來連接數據庫並執行程序的代碼。如果您使用的是ADO.NET,則通常只需將結果直接導出到DataSet或DataTable中。還有什麼RDBMS呢? SQL Server? – ADyson