小编the*_*gul的帖子

如何在SQL查询中向SQL Server列添加加一(+1)

简单的问题是,如何将MS Query中的字段值增加1?我想1(+1)添加到int在使用参数化方法,我的SQL Server数据库列.类似于对变量的i ++操作.我使用以下方法:

public static int UpdateFieldCount(int parameterId)
{
    // variable to hold the number of rows updated or the success of the query
    int updatesuccess = 0;

    // build your connection string
    string connectionstring = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection conn = new SqlConnection(connectionstring);

    // build your SQL Query statement
    string SQLString = "UPDATE TableName SET TableField + 1 WHERE SomeFilterField = @ParameterID";        
    SqlCommand sqlcmd = new SqlCommand(SQLString, conn);
    sqlcmd.Parameters.AddWithValue("@ParameterID", parameterID);

    conn.Open();
    updatesuccess = sqlcmd.ExecuteNonQuery();

    conn.Close(); 

    return updatesuccess;
} …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

39
推荐指数
2
解决办法
13万
查看次数

为什么我收到此错误:ConnectionString属性尚未初始化

我已经搜索并尝试了所有的东西,但无法想出这个.我想做一些简单的事情,但好像我做错了什么.基本上,任何已经存款的用户,我想要返回true,如果他们没有,我想返回false.我想这应该很容易,但我对此感到难过.

这是错误:

ConnectionString属性尚未初始化.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.InvalidOperationException:尚未初始化ConnectionString属性.

来源错误:

Line 59:         Cmd.Parameters.AddWithValue("@UserID", userId);
Line 60:         con.Open();
Line 61: 
Line 62:         result = (int)Cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪的顶部:

[InvalidOperationException:ConnectionString属性尚未初始化.] System.Data.SqlClient.SqlConnection.PermissionDemand()+ 4879939 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)+20 System.Data.ProviderBase.DbConnectionClosed.OpenConnection( DbConnection outerConnection,DbConnectionFactory connectionFactory)+117 System.Data.SqlClient.SqlConnection.Open()+122

这是我返回true或false的方法:

public static bool HasDeposit(int userId)
{
    int result = 0;
    //since executeScalar is intended to retreive only a single value
    //from a query, we select the number of results instead of the email address
    //of each matching result.
    string queryTransaction = "SELECT COUNT(UserID) FROM Transaction WHERE TransactionTypeID = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net methods runtime-error

3
推荐指数
1
解决办法
4万
查看次数

SQL Server:查询连接两个表

尝试基于挑战匹配系统创建SQL Server查询.我想在查询中加入两个表:UsersChallengeMatches.

表中的Users列是UserID, UserDisplayName

表中的ChallengeMatch列是ChallengeMatchID, ChallengerUserID, ChallengeeUserID

当然,所有ChallengeeUserID的和所有ChallengerUserID的都Users作为唯一用户列在表中.我希望查询要做的是每次挑战匹配(ChallengeMatch表中的行),返回UserDisplayName两个挑战参与者,例如PlayerName1,PlayerName2.

任何帮助,将不胜感激.

sql database sql-server

2
推荐指数
1
解决办法
84
查看次数

SQL查询问题:未生效查询的一部分

我的问题是:我有一个MS SQL查询,它结合了不同用户的游戏和游戏分数,并在两部分计算中使用聚合函数来获得综合得分.由于某种原因,计算的一部分(计算的第一部分 - 所玩的游戏)未在总分中使用(我称之为Algoscore).查询如下:

SELECT TOP 10
  COUNT(TourScore.TourScoreID) AS GameCount,
  AVG(GameScore.GameScore) AS AVGScore,
  Users.UserID, Users.DisplayName,
  (((COUNT(TourScore.TourScoreID) / 750) * .50) * 100)
    + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore
FROM TourScore INNER JOIN GameScore
    ON TourScore.GameScoreID = GameScore.GameScoreID
  INNER JOIN Users
    ON GameScore.UserID = Users.UserID
WHERE (GameScore.ScoreDate BETWEEN '01/01/2013' AND '06/01/2013') 
GROUP BY Users.UserID, Users.DisplayName
ORDER BY Algoscore DESC
Run Code Online (Sandbox Code Playgroud)

SELECT的计算部分:
(((COUNT(TourScore.TourScoreID) / 750) * .50) * 100) + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore …

sql t-sql sql-server aggregate-functions

0
推荐指数
1
解决办法
65
查看次数