如何知道当前有多少用户连接到SQL Server

时间:2020-03-27 15:04:24

标签: sql-server ssm

我想知道有多少用户当前已连接并正在从SQL Server访问内容?在我的情况下,当前时间非常重要。我正在使用SQL Server中的package com.app.whatsupafrica; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.firebase.ui.database.FirebaseRecyclerAdapter; import com.firebase.ui.database.FirebaseRecyclerOptions; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; import com.squareup.picasso.Picasso; import de.hdodenhof.circleimageview.CircleImageView; /** * A simple {@link Fragment} subclass. */ public class ChatsFragment extends Fragment { private View PrivateChatsView; private RecyclerView chatsList; private DatabaseReference ChatsRef, UsersRef; private FirebaseAuth mAuth; private String currentUserID; public ChatsFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment PrivateChatsView = inflater.inflate(R.layout.fragment_chats, container, false); mAuth = FirebaseAuth.getInstance(); currentUserID = mAuth.getUid(); if (mAuth.getUid() == null) { SendUserToLoginActivity(); } if (! mAuth.getUid().isEmpty()) { ChatsRef = FirebaseDatabase.getInstance().getReference().child("Contacts").child(mAuth.getUid()); } UsersRef = FirebaseDatabase.getInstance().getReference().child("Users"); chatsList = (RecyclerView) PrivateChatsView.findViewById(R.id.chats_list); chatsList.setLayoutManager(new LinearLayoutManager(getContext())); return PrivateChatsView; } @Override public void onStart() { super.onStart(); FirebaseRecyclerOptions<Contacts> options = new FirebaseRecyclerOptions.Builder<Contacts>() .setQuery(ChatsRef, Contacts.class) .build(); FirebaseRecyclerAdapter<Contacts, ChatsViewHolder> adapter = new FirebaseRecyclerAdapter<Contacts, ChatsViewHolder>(options) { @Override protected void onBindViewHolder(@NonNull final ChatsViewHolder holder, int position, @NonNull Contacts model) { final String usersIDs = getRef(position).getKey(); final String[] retImage = {"default_image"}; UsersRef.child(usersIDs).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { if (dataSnapshot.hasChild("image")) { retImage[0] = dataSnapshot.child("image").getValue().toString(); Picasso.get().load(retImage[0]).into(holder.profileImage); } final String retName = dataSnapshot.child("name").getValue().toString(); final String retStatus = dataSnapshot.child("status").getValue().toString(); holder.userName.setText(retName); // holder.userStatus.setText("Last Seen: " + "\n" + "Date " + " Time"); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent chatIntent = new Intent(getContext(), ChatActivity.class); chatIntent.putExtra("visit_user_id", usersIDs); chatIntent.putExtra("visit_user_name", retName); chatIntent.putExtra("visit_image", retImage[0]); startActivity(chatIntent); } }); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } @NonNull @Override public ChatsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.users_display_layout, viewGroup, false); return new ChatsViewHolder(view); } }; chatsList.setAdapter(adapter); adapter.startListening(); } public static class ChatsViewHolder extends RecyclerView.ViewHolder { CircleImageView profileImage; TextView userStatus, userName; public ChatsViewHolder(@NonNull View itemView) { super(itemView); profileImage = itemView.findViewById(R.id.users_profile_image); userStatus = itemView.findViewById(R.id.user_status); userName = itemView.findViewById(R.id.user_profile_name); } } private void SendUserToLoginActivity() { Intent loginIntent = new Intent(getContext(), LoginActivity.class); startActivity(loginIntent); } } sys.sysprocess表。

1 个答案:

答案 0 :(得分:1)

您可以使用so_whoisactive来获取许多有关谁连接的重要信息。这是由Adam Machanic开发的有据可查并得到广泛使用的社区脚本。

相关问题