פיתוח תוכנה ובניית אתרים תוכנה לעסקים






פיתוח תוכנה ובניית אתרי אינטרנט
תוכנות לעסקים פיתוח תוכנה ובניית אתרים
התחברות לקוחות
כניסת לקוחות

 
 
כניסת לקוחות

  שכחת את הסיסמה?
תוכנות לדוגמא



 
חברת PC GROUP מתמחה במתן פתרונות מיחשוב מתקדמים לעסקים ולפרטיים. פיתוח תוכנות תפורות ומותאמות לעסקים שונים. בניית אתרי תדמית, אתרי מכירות, אתרים פנימיים לניהול עסק ותחזוקת מערכות מחשבים בעסק. אנו מתמסרים ללקוחותינו ומשתדלים בכל כוחנו לספק את המוצר הטוב ביותר במחירים הוגנים.
יצירת קשר מידע על תוכנה 052-663-5054
PC GROUP
  ניתן ליצור קשר בטלפון בין השעות 19:00 - 8:00
מעבר לשעות הנ"ל ניתן ליצור קשר דרך האתר

  טופס יצירת קשר dot   כתובת מייל dot   קבל הצעת מחיר dot
מחשבמידע על תוכנה

Pass list of values to stored procedure with table valued parameters (instead of commad delimited string)
 
If you use sql server 2008 or higher, use table valued parameters, for example:

CREATE PROCEDURE [dbo].[GetAccounts](@accountIds nvarchar)
AS
BEGIN
SELECT * FROM accountsTable WHERE accountId IN (@accountIds)
END

CREATE TYPE intListTableType AS TABLE (n int NOT NULL)

DECLARE @tvp intListTableType 

-- inserts each id to one row in the tvp table:   
INSERT @tvp(n) VALUES (16509),(16685),(46173),(42925),(46167),(5511)

EXEC GetAccounts @tvp


Name: Shay
Comment: This is more efficient than passing a string because when passing a comma delimited string you'd have to use a function to parse the values which is working slower from using this table valued parameters approach.

Name: Shay
Comment: a fix - it should be:
   SELECT * FROM accountsTable WHERE accountId IN (select * from @accountIds) instead of
   SELECT * FROM accountsTable WHERE accountId IN (@accountIds) 

Name: Shay
Comment: To send parameters from c# to that stored procedure:

  SqlParameter fieldIdsParameter = new SqlParameter("@Ids", SqlDbType.Structured);

fieldIdsParameter.TypeName = "dbo.intListTableType";
                    fieldIdsParameter.SqlValue = CreateSqlDataRecordsOfIds(myIdsList);
                    cmd.Parameters.Add(fieldIdsParameter);

The CreateSqlDataRecordsOfIds looks like this:

  private static IEnumerable<SqlDataRecord> CreateSqlDataRecordsOfFieldIds(IEnumerable<int> ids)
        {
 SqlMetaData[] metaData = new SqlMetaData[1];
            metaData[0] = new SqlMetaData("Id", SqlDbType.Int);
SqlDataRecord record = new SqlDataRecord(metaData);
            foreach (int id in ids)
            {
                record.SetInt32(0, id);
                yield return record;
            }
        }



Post a comment
Your name:

Your comment:


 

מידע על תוכנה
מידע על תוכנה
בית תוכנה לעסקים ולפרטיים