א. שנה את העמודה ל INT אם היא מכילה רק ספרות
ב.
SET @sql2 = N'SELECT * FROM reservations where ' +@Name +' = ' + CAST(@Number AS NVARCHAR)+ 'order by ' +@Name
פורסם במקור בפורום CODE613 ב11/01/2016 22:02 (+02:00)
א. שנה את העמודה ל INT אם היא מכילה רק ספרות
ב.
SET @sql2 = N'SELECT * FROM reservations where ' +@Name +' = ' + CAST(@Number AS NVARCHAR)+ 'order by ' +@Name
פורסם במקור בפורום CODE613 ב11/01/2016 22:02 (+02:00)
פוש שולחים לאנדרואיד דרך שירות של גוגל למפתחים לשליחת פוש
ולאייפון דרך שרות של אפל זה השיטה הכי יעילה ונכונה
Gcm ו apn זה לאפליקציה שמותקנת על הטלפון השאלה הייתה על אפליקצית ווב
פורסם במקור בפורום CODE613 ב10/01/2016 20:57 (+02:00)
websocket זה טכנולוגיה שמאפשרת את זה.
אם אתה רוצה לשלוח פוש אז טלגרם אני לא יודע אבל ל Whatsapp אז יש API לא רשמי ב pyton:
לשמור את כל ההודעות שללחת בטבלה עם מזהה ייחודי, וברגע שהמשתמש קרא לסמן מה נקרא, לגבי איך לדעת את זה אז ב whatsapp יש לך acknowledge שההודעה נקראה טלגרם לא יודע.
באותו ענין קח בחשבון שאתה מנסה לדלות אינפורמציה שאמורה להיות חסומה בפניך, וגם ה API הנל הוא לא רשמי וקודמו ירד מהאויר בעקבות תביעה.
פורסם במקור בפורום CODE613 ב05/01/2016 13:49 (+02:00)
var myDate = new Date(parseInt("\/Date(1423087200000+0200)\/".match(/\d+/)[0]));
מקור
עיינתי במקור..
ואשמח להבין מדוע היית צריך לציין את כל התאריך שבJSON? הרי בסטאק הוא כתב כך:X[0]
תודה רבה!
כי מטרת הדוגמה היא להראות איך להמיר כזה סטרינג לתאריך ותו לא
פורסם במקור בפורום CODE613 ב29/12/2015 22:40 (+02:00)
var myDate = new Date(parseInt("\/Date(1423087200000+0200)\/".match(/\d+/)[0]));
מקור
פורסם במקור בפורום CODE613 ב27/12/2015 12:47 (+02:00)
נכון להיום אין חיה כזאת דוט נט על אנדרואיד.
יש אבל אפשרויות לפתח בדוט נט לאנדרואיד בשני אופנים מרכזיים:
לבנות אפליקציה סוג של וובית ואז יש פתרונות חינמיים כמו של cordova שנותנת לך גישה לפונקציות של המכשיר דרך ה JS וגם מקמפלת ל APK, התוצר למרות שהוא נראה אפליקציה על המכשיר הוא לא ממש אפליקציה אלא בעצם אתר שרץ על המכשיר שיכול לקרוא קבצים, לגשת למצלמה ולקבל הודעות פוש וכו' לפי ההרשאות שאתה מבקש, עובד מצוין על אנדרואיד (ל IOS עובד לא רע אבל יש מה לשפר).
לבנות את האפליקציה עצמה ב C# בעזרת PLUGIN ל VS של xamarin או בעזרת xamarin studio, אתה לא יכול לגשת לספריות דוט נט כמו IO.File וכאלה אבל יש לך את C# כשפה (ירושה, תחביר, LINQ וכו' ) ויש להם מלא ספריות שלהם שנותנות תחליף לדוט נט, מה שהוא עושה מאחורי הקלעים זה לתרגם את הC# לJAVA והוא בעצם מייצר אפליקצית אנדרואיד לכל דבר, לצערי הוא מאוד יקר ואין לו מתחרים ראויים. (לסטודנטים זה בחינם https://xamarin.com/student).
פורסם במקור בפורום CODE613 ב25/12/2015 00:36 (+02:00)
דוד, בדרך כלל אני משתדל שלא לחלוק עליך מכיון שאיני גדול ממנו בחכמה ובמנין וכו'
אבל כאן אני ממש לא מבין ולא יודע למה אתה דבק בקטע של לשים אפליקציה חיצונית בתוך DIV, זה פשוט לא יעבוד
את ה HTML אולי הוא יראה אבל שום דבר אחר לא יעבוד (מתי יקרה ready)?
הפתרון לזה הוא אך ורק IFRAME וזה שהוא לא מצליח לגרום לסרבר שלו לעבוד זה בעיה אחרת
אם הפרוייקט הוא רק לצרכי מחקר/לימוד אז יש תוסף לכרום ש"משפץ" את ה HEADER של ה CORS וזה חוסך ממך את הצורך למצוא את הבעיה בשרת שלך
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
פורסם במקור בפורום CODE613 ב22/12/2015 23:58 (+02:00)
אתה צריך להגדיר כך את האתר הראשון (הפנימי) ולא השני
אולי טעית בזה?
פורסם במקור בפורום CODE613 ב22/12/2015 11:21 (+02:00)
נשמע כמו iframe
פורסם במקור בפורום CODE613 ב22/12/2015 02:55 (+02:00)
@יאן גולד
לימדת אותי הרבה בכמה שורות האלה
אני תמיד מתלבט אם לכתוב תשובות ברמה גבוהה ולאתגר את השואל בלהבין או לכתוב שווה לכל נפש
פה הלכתי על רמה גבוהה יחסית - משתני טבלה, שאילתה ריקורסיבית ללוח שנה, שלושה סוגי JOIN שונים באותה שאילתה ו JOIN לפי טווחי תאריכים
ואני שמח על הפידבק שמראה שהחלטתי נכון
ארכיטקט תודה על ההארה, שבשתא כיוון דעל על...
לדעתי אין השפעה על הביצועים אבל מכיוון שהפורום הוא מקור ידע אז תיקנתי בגוף הסקריפט (ואז שכחתי לתקן את ההערות בהתאם אז ערכתי שוב. . . )
אם כבר דיברנו על כך שהפורום הוא גם מקור ידע, יאן גולד, אשמח שתסמן את הנושא כנפתר למען הבאים אחרינו ...
פורסם במקור בפורום CODE613 ב25/12/2015 00:05 (+02:00)
וואקשה
----Create Demo DB
--Rooms Table
DECLARE @Rooms AS TABLE(ID INT, Name NVARCHAR(MAX))
INSERT INTO @Rooms VALUES(1,'Room A'),(2,'Room B')
--Reservations Table
DECLARE @Reservations AS TABLE(ID INT, CheckInDate DATE, CheckOutDate DATE, RoomID INT)
INSERT INTO @Reservations VALUES
(100,'2015-01-03','2015-01-09',1),(102,'2015-01-18','2015-02-09',1),(103,'2015-01-01','2015-01-17',2)
DECLARE @Seasons AS TABLE(ID INT, Name NVARCHAR(MAX), StartDate DATE, EndDate DATE)
INSERT INTO @Seasons VALUES
(1,N'Winter','2015-01-01','2015-04-15'),(2,N'Spring','2015-06-18','2015-06-25')
; ----End of Demo DB
---- occupancy query (could be used as a view)
-- Generate Calendar Table
WITH Cal (CalendarDay) AS(
SELECT CAST('2015-01-01' AS DATE) AS DateDay -- Calendar Start Date
UNION ALL
SELECT DATEADD(DAY,1,CalendarDay) FROM Cal WHERE DATEADD(DAY,1,CalendarDay) < '2016-01-01' -- Calendar End Date
)
SELECT CalendarDay,Rooms.ID AS RoomID, Rooms.Name AS RoomName,Season.Name AS SeasonName,
Res.ID AS ReservationID, CheckInDate, CheckOutDate,
CASE WHEN Res.ID IS NULL THEN 1 ELSE 0 END IsRoomAvailable
FROM Cal
CROSS JOIN @Rooms AS Rooms -- create rooms calendar table (cartesian product)
INNER JOIN @Seasons AS Season ON Cal.CalendarDay BETWEEN Season.StartDate AND Season.EndDate
LEFT JOIN @Reservations AS Res ON Rooms.ID = Res.RoomID AND CalendarDay BETWEEN CheckInDate AND CheckOutDate -- join the reservations
OPTION (MAXRECURSION 32767) -- allow recursion
פורסם במקור בפורום CODE613 ב22/12/2015 23:45 (+02:00)
ארכיטקט אין דבר כזה נתיב של הפול התכוונת נתיב של האתר שלך
יש גם את הדרך של ה app_offline שקליק וואן הזכיר
מה שאני עושה זה לשחק עם הbinding, לתת לאתר פורט מסוים לטסטים וברגע העליה לאויר להחליף ל 80
אפשר גם לעשות לאתר stop או לכל ה IIS
פורסם במקור בפורום CODE613 ב21/12/2015 12:44 (+02:00)
אני התחלתי את דרכי ב VB.NET. אחרי זה C#.
אחרי זה PHP.
ואחרי זה NODE.JS. + C.
בזמנם שלטתי טוב מאוד בכל שפה. ב nodejs אני שולט הכי טוב. אבל אני די מכיר את דוטנט. ותכנתתי שם אלפי שורות קוד אם לא יותר.
ככה שאני אומר את זה מתוך היכרות של שני העולמות.
וואללה, עכשיו אני נזכר שפעם שוחחנו על זה, אתה אכן מקרה נדיר בענף וזה נותן לטענותך משקל רב יותר.
פורסם במקור בפורום CODE613 ב08/12/2015 02:20 (+02:00)
MAT יודע היטב לינוקס סי JS וכו', ארכיטקט ודוד יודעים היטב דוט נט וכל אחד השקיע בזה את מיטב זמנו ואדם קרוב אצל עצמו,כך שלשאלה מה יותר טוב, אין תשובה אובייקטיבית.
למי שהוא באמת תותח בטכנולוגיה שבה הוא עוסק ויש לו אופקים מסוימים גם לתחומים אחרים תמיד יהיה פתרון טוב בשרוול, אקסס עם DLL דוט נט לדוגמה.
פורסם במקור בפורום CODE613 ב07/12/2015 17:03 (+02:00)
שכלול של קטע שפרסמתי בעבר, זה פרוצדורה שיוצרת טבלה באותו שם עם תחילית H_ וגם טריגר ששומר כל פעולה של שינוי דאטה.
השכלול העיקרי הוא שהוא יודע כעת להתמודד עם טבלאות עם כמה עמודות PK וגם עם טבלאות בלי PK ואם אין בכלל PK אז לוקח IDENTITY (אם יש).
על מנת להפעיל שמירת היסטוריה על טבלה מריצים את הפרוצדורה עם פרמטר של שם הטבלה, אחרי שינוי במבנה הטבלה יש להריץ שוב.
CREATE PROC [dbo].[CreateTableTriggers] (@Table NVARCHAR(MAX)) AS
SET NOCOUNT ON
DECLARE @CName AS NVARCHAR(MAX)
DECLARE @TName AS NVARCHAR(MAX)
DECLARE @TCol AS TABLE(name NVARCHAR(MAX), typ NVARCHAR(max))
INSERT INTO @TCol
Select C.name,T.name from sys.columns C inner join sys.types T ON T.user_type_id = C.user_type_id where Object_id(@Table) = object_id AND C.user_type_id NOT IN (34,165,173)
DECLARE @DKey AS NVARCHAR(MAX)
DECLARE @IKey AS NVARCHAR(MAX)
DECLARE @TKey AS TABLE(name NVARCHAR(MAX), sort int)
INSERT INTO @TKey
SELECT COLUMN_NAME, ORDINAL_POSITION FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + CONSTRAINT_NAME), 'IsPrimaryKey') = 1 AND TABLE_NAME = @Table AND TABLE_SCHEMA = 'dbo'
SET @DKey = (SELECT stuff((select ' + ''_'' + CAST(D.' + name + ' AS NVARCHAR(4000))' as [text()] FROM @TKey ORDER BY sort for xml path('')), 1, 9, ''))
SET @IKey = (SELECT stuff((select ' + ''_'' + CAST(I.' + name + ' AS NVARCHAR(4000))' as [text()] FROM @TKey ORDER BY sort for xml path('')), 1, 9, ''))
IF(@DKey IS NULL OR @IKey IS NULL)
BEGIN
SET @DKey = (SELECT TOP 1 'CAST(D.' + name + ' AS NVARCHAR(4000))' FROM sys.columns where Object_id(@Table) = object_id and is_identity = 1)
SET @IKey = (SELECT TOP 1 'CAST(I.' + name + ' AS NVARCHAR(4000))' FROM sys.columns where Object_id(@Table) = object_id and is_identity = 1)
END
IF(@DKey IS NULL OR @IKey IS NULL) RAISERROR ('No Key or Identity column found.',16,1);
DECLARE @sSQL AS NVARCHAR(MAX) =
'
CREATE TRIGGER {Table}History ON {Table} AFTER UPDATE, INSERT, DELETE AS
SET NOCOUNT ON
INSERT INTO H_{Table}
SELECT GETDATE(),APP_NAME(),{I.KEY},''Object'',{I.KEY},'''', ''I'' FROM INSERTED I LEFT JOIN DELETED D ON {D.KEY} = {I.KEY} WHERE {D.KEY} IS NULL
UNION
SELECT GETDATE(),APP_NAME(),{D.KEY},''Object'',{D.KEY},'''', ''D'' FROM DELETED D LEFT JOIN INSERTED I ON {D.KEY} = {I.KEY} WHERE {I.KEY} IS NULL
'
DECLARE col_cur CURSOR FOR SELECT name, typ FROM @TCol
OPEN col_cur
FETCH NEXT FROM col_cur INTO @CName,@TName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @Compare AS NVARCHAR(MAX)
IF (@TName IN ('int','decimal','numeric','bigint'))
SET @Compare = 'ISNULL(D.{Col},0) <> ISNULL(I.{Col},0)'
ELSE
SET @Compare = 'ISNULL(D.{Col},'''') <> ISNULL(I.{Col},'''')'
SET @sSQL +=
REPLACE('
INSERT INTO H_{Table}
SELECT GETDATE(),APP_NAME(),{I.KEY},' + '''{Col}''' + ',D.{Col},I.{Col}, ''U'' FROM DELETED D INNER JOIN INSERTED I ON {D.KEY} = {I.KEY} WHERE ' + @Compare + '
','{Col}',@CName)
FETCH NEXT FROM col_cur INTO @CName,@TName
END
CLOSE col_cur
DEALLOCATE col_cur
DECLARE @sDropSQL AS NVARCHAR(MAX) = REPLACE('IF OBJECT_ID (''{Table}History'',''TR'') IS NOT NULL
DROP TRIGGER {Table}History','{Table}',@Table)
EXEC(@sDropSQL)
DECLARE @sTableSQL AS NVARCHAR(MAX) = REPLACE('
IF OBJECT_ID (''H_{Table}'') IS NULL
CREATE TABLE H_{Table}
(
ChangeDate DATETIME NULL,
ApplicationName NVARCHAR(4000),
[Key] NVARCHAR(MAX),
ColumnName NVARCHAR(100) NULL,
OldValue NVARCHAR(MAX) NULL,
NewValue NVARCHAR (MAX) NULL,
Action NVARCHAR (1)
)
','{Table}',@Table)
EXEC(@sTableSQL)
SET @sSQL = REPLACE(@sSQL,'{Table}',@Table)
SET @sSQL = REPLACE(@sSQL,'{D.KEY}',@DKey)
SET @sSQL = REPLACE(@sSQL,'{I.KEY}',@IKey)
EXEC(@sSql)
פורסם במקור בפורום CODE613 ב29/11/2015 13:17 (+02:00)
אני עובד עם chosen
כלי חמוד והיחיד שהתמודד יפה עם עשרות אלפי רשומות
לא מכיר את האחרים
פורסם במקור בפורום CODE613 ב22/11/2015 01:37 (+02:00)
לדעתי לפתח משהו כזה מאפס זה להמציא את הגלגל
יש כלי BI מאוד מתקדמים שיודעים לטעון מאות מיליוני שורות ל RAM תוך דחיסה מצוינת של המידע ושליפת תוצאות בשברירי שניות
הבעיה איתם שהם לא לייב מול הדטהבייס אלא מתעדכנים לפי תזמון שצריך להגדיר וגם שהמיקוד שלהם הוא בממשקי משתמש (גרפים וכו') אבל יש כאלו עם API שמאפשר להשמיש אותם גם למטרות אחרות
לדוגמה כלי שאני מכיר היטב qlik sense
פורסם במקור בפורום CODE613 ב19/11/2015 12:15 (+02:00)
אין דבר כזה שאין שום שינוי והוא מחזיר DATA שונה
הסרבר לא מנחש מה הקליינט רוצה ממנו
תבדוק ב dev tools מה שונה ב REQUSET אולי התוכן
פורסם במקור בפורום CODE613 ב15/11/2015 14:23 (+02:00)
אני אחד שאוהב פתרונות מסבכים לבעיות פשוטות אבל נראה לי הלכת רחוק פה.
תוכל להשתמש בשירות טוקניזציה של חברות סליקה כמו ZCREDIT גם בלי לסלוק בפועל ממש,
בדרך כלל יש גם API לשחזר לך את מספר הכרטיס לפי הטוקן, נראה לי שאפשר לקנות גישה למסוף API בתשלום חד פעמי.
כמובן שתספר להם שאתה הולך לסלוק המון כסף . . .
פורסם במקור בפורום CODE613 ב12/11/2015 12:10 (+02:00)
אתה צריך לדאוג שהסרבר יחזיר תשובה ב JSON או שיפתחו את הסרבר ל CORS עבור ה URL שלך,
קרי: יפתחו את האפשרות לבצע request מדומיין אחר לפונקציה הזו, פשוט הסרבר צריך להוסיף HEADER עם הדומיין שלך או כוכבית בשביל לפתוח לגמרי.
Access-Control-Allow-Origin: http://mydomain.com
אם אין לך גישה לסרבר ואין לך אפשרות לשנות את אחד הפרמטרים האלו זה לא יעבוד מצד לקוח
אתה אבל כן יכול לבצע ajax לשרת שלך שיבצע את ה request ב C# ויחזיר לך את התשובה
פורסם במקור בפורום CODE613 ב12/11/2015 14:51 (+02:00)