如何从现有的表创建新表,并将当前用户名作为表名的一部分保存到新表中?

问题描述

| 以下是我正在使用的代码。我可以使用在命令行中输入的名称保存新表,但是如何将当前用户名作为表名的一部分呢?有人可以帮忙吗?
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。