Advertisement
prog

dao.js

Jan 20th, 2011
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Note(id, target, type, comment, date, author)
  2. {
  3.   this.id = id;
  4.   this.target = target;
  5.   this.type = type;
  6.   this.comment = comment;
  7.   this.date = date;
  8.   this.author = author;
  9. }
  10.  
  11. function insert(author, target, type, comment)
  12. {
  13.   var sql = "INSERT INTO notes (target, type, comment, issuedate, enabled, author) VALUES (?, ?, ?, {fn now()}, 1, ?)";
  14.  
  15.   var connection = new ActiveXObject("ADODB.Connection");
  16.   connection.Open('dsn=cubix');
  17.  
  18.   var cmd = new ActiveXObject("ADODB.Command");
  19.   cmd.ActiveConnection = connection;
  20.   cmd.CommandText = sql;
  21.   cmd.CommandType = 1; // SQL statement
  22.  
  23.   var param = cmd.CreateParameter("@p1", 8, 1, 100, target);
  24.   cmd.Parameters.Append(param);
  25.   param = cmd.CreateParameter("@p2", 8, 1, 100, type);
  26.   cmd.Parameters.Append(param);
  27.   param = cmd.CreateParameter("@p3", 8, 1, 500, comment);
  28.   cmd.Parameters.Append(param);
  29.   param = cmd.CreateParameter("@p4", 8, 1, 100, author);
  30.   cmd.Parameters.Append(param);
  31.  
  32.   try
  33.   {
  34.     cmd.Execute();
  35.   }
  36.   finally
  37.   {
  38.     connection.Close();
  39.   }
  40. }
  41.  
  42. function select(target)
  43. {
  44.   target = '*' + target + '*';
  45.   target = target.replace(/\*/g, '%');
  46.   target = target.replace(/\?/g, '_');
  47.   if (('' + target).length == 0)
  48.   {
  49.     target = '%';
  50.   }
  51.  
  52.   var sql = "SELECT id, target, type, comment, issuedate, author FROM notes WHERE (lower(target) like lower(?) or lower(comment) like lower(?)) and enabled = 1 order by issuedate desc";
  53.  
  54.   var connection = new ActiveXObject("ADODB.Connection");
  55.   connection.Open('dsn=cubix');
  56.  
  57.   var cmd = new ActiveXObject("ADODB.Command");
  58.   cmd.ActiveConnection = connection;
  59.   cmd.CommandText = sql;
  60.   cmd.CommandType = 1; // SQL statement
  61.  
  62.   var param = cmd.CreateParameter("@p1", 8, 1, 500, target);
  63.   cmd.Parameters.Append(param);
  64.   var param = cmd.CreateParameter("@p2", 8, 1, 500, target);
  65.   cmd.Parameters.Append(param);
  66.  
  67.   var result = new Array();
  68.  
  69.   try
  70.   {
  71.     var rs = cmd.Execute();
  72.  
  73.     while (!rs.EOF)
  74.     {
  75.       var id = rs('id').Value;
  76.       var target = rs('target').Value;
  77.       var type = rs('type').Value;
  78.       var comment = rs('comment').Value;
  79.       var date = new Date(rs('issuedate').Value);
  80.       var author = rs('author').Value;
  81.  
  82.       var note = new Note(id, target, type, comment, date, author);
  83.  
  84.       result.push(note);
  85.  
  86.       rs.MoveNext();
  87.     }
  88.   }
  89.   finally
  90.   {
  91.     connection.Close();
  92.   }
  93.  
  94.   return result;
  95. }
  96.  
  97. function del(id)
  98. {
  99.   var sql = "UPDATE notes SET enabled = 0 WHERE id = ?";
  100.  
  101.   var connection = new ActiveXObject("ADODB.Connection");
  102.   connection.Open('dsn=cubix');
  103.  
  104.   var cmd = new ActiveXObject("ADODB.Command");
  105.   cmd.ActiveConnection = connection;
  106.   cmd.CommandText = sql;
  107.   cmd.CommandType = 1; // SQL statement
  108.  
  109.   var param = cmd.CreateParameter("@p1", 130, 1, 4, id);
  110.   cmd.Parameters.Append(param);
  111.  
  112.   try
  113.   {
  114.     cmd.Execute();
  115.   }
  116.   finally
  117.   {
  118.     connection.Close();
  119.   }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement