我可以将简单数据从SQL Server导出到CSV文件而不会出现问题。这是一个特例。除了从该表导出必填字段外,我还需要导出一个附加字段,密码]。 SQL Server上的表中不存在此字段。该字段是操纵studentId
字段的结果。例如,如果StudId
为11111
,则其密码为'XDUBS'
。
'assume the connection works
cmd1.CommandText = "select studentID from vwTEST"
cmd1.ExecuteNonQuery()
da.Fill(dt)
For i As Integer = 0 To dt.Rows.Count - 1
strStudentID = dt.Rows(i).Item(0)
enc = encrypt(strStudentID)
updatePW(strStudentID, enc)
Next
我调用encrypt()将studentID转换为pw并调用updatePW()来更新表学生,但我不允许将[pw]字段添加到表中。这就是为什么我不能这样做,即使它有效!
答案 0 :(得分:0)
答案 1 :(得分:0)
你提到了术语"虚拟表"。这是描述数据库视图的一种方式。
创建一个视图,作为数据导出过程的来源(而不是您现在要导出的表格):
CREATE VIEW …
AS
SELECT … /* all columns from the base table that you want to export */,
GetPasswordFrom(StudentId) AS Password
FROM TableThatYouAreExportingNow
GetPasswordFrom
是一些用户定义的函数(UDF),它从其参数(StudentId
)派生密码。
现在导出该视图而不是TableThatYouAreExportingNow
表。