问题描述
|
以下是我正在使用的代码。我可以使用在命令行中输入的名称保存新表,但是如何将当前用户名作为表名的一部分呢?有人可以帮忙吗?
Dim Unm As String = Membership.GetUser(RegisterUser.UserName).UserName.ToString()
Dim tNm As String = (Unm & \"JE\").ToString()
\'Connect to DB,open connection,insert data,then close connection.
njtbConn = New sqlConnection(\"Data Source=.\\sqlEXPRESS;AttachDbFilename=C:\\Users\\Documents\\Visual Studio 2010\\WebSites\\MyWeb\\App_Data\\TTdb.mdf;Integrated Security=True;User Instance=True\")
njtbConn.open()
njtbComm = New sqlCommand(\"SELECT * FROM UJE AS UserTable1\",njtbConn)
njtbComm.ExecuteNonQuery()
njtbConn.Close()
njtbConn.dispose()
解决方法
您可以使用select into {table name} from(从源中选择*)语句。
然后获取用户名,您可以使用:
宣告@sys_usr char(30)
SET @sys_usr = SYSTEM_USER
这是选择的参考:http://msdn.microsoft.com/zh-cn/library/ms188029.aspx
由于要将用户名连接到表名中,因此必须使用sp_executesql将其设置为动态sql。