Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > C# อยากเอาเวลาปัจจุบันมาลบกับเวลารับจากดาต้าเบส



 

C# อยากเอาเวลาปัจจุบันมาลบกับเวลารับจากดาต้าเบส

 



Topic : 112465



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์




คืออยากเอาเวลาปัจจุบันมาลบกับเวลารับ จากดาต้าเบสแล้วได้ผลออกมาว่าเหลือกี่วัน

จะทำให้ได้แบบนี้อ่ะครับควรเขียนยังไงหรอครับ เขียนมาหลายแบบแล้ว แต่ไม่ได้สักที่ครับ

vv



Tag : Ms Access, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-10 15:15:03 By : ictm49 View : 3744 Reply : 68
 

 

No. 1



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนผู้รู้ช่วยเขียนโปรแกรมคราวๆก็ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-10 16:55:20 By : ictm49
 


 

No. 2

Guest


Code (PHP)
$startdate = mktime($sh,$si,$ss,$sm,$sd,$sy);
$enddate = mktime($eh,$ei,$es,$em,$ed,$ey);

$day = ((($enddate-$startdate)/60)/1440);


น่าจะประมาณนี้คะ ผิดถูกแนะนำได้คะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-10 16:58:31 By : เด็กใหม่ PHP
 

 

No. 3

Guest


Code (C#)
DateTime start = new DateTime(2014, 11, 8);
DateTime end = new DateTime(2014, 11, 18);

// int days = end.Subtract(start).TotalDays เป็นเราจะเขียนแค่นี้ แค่อยากให้เห็น timespan
TimeSpan result = end.Subtract(start);
int days = result.TotalDays;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-10 20:09:02 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 4



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 3 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2014-11-10 20:09:02
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 08:31:45 By : lamaka.tor
 


 

No. 5



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


Code (SQL)
            OleDbCommand command = new OleDbCommand("select bc.Borrow_id,bl.P_no,bl.Date_begin,bl.Date_receive,bl.Status,Babout_cost,Btotal from Borlist bl,Borcus bc where bc.Borrow_id=bl.Borrow_id and bc.Borrow_id='" + txt_con.Text + "' order by P_no", connection);
            command.ExecuteNonQuery();
            //command.Parameters.AddWithValue("@End", this.dateTimePicker2.Value.ToShortDateString());
            DataTable dt1 = new DataTable();
            OleDbDataAdapter da1 = new OleDbDataAdapter(command);
            da1.Fill(dt1);



คืออยากเอาวันปัจจุบัน ลบกับ bl.Date_receive แล้วขึ้นตามรูปน่ะครับ
vv
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 09:25:24 By : ictm49
 


 

No. 6

Guest


อาจ error เพราะเขียนสด

Code (C#)
DataTable dt = new DataTable();

string connectionString = ".....your connection string.....";
using (OleDbConnection connection = new OleDbConnection(connectionString))
using (OleDbCommand command = connection.CreateCommand())
{
   StringBuilder commandString = new commandString()
   commandString.AppendLine("SELECT bc.Borrow_id, bl.P_no, bl.Date_begin, bl.Date_receive, bl.Status, bc.Babout_cost, bc.Btotal,");
   commandString.AppendLine("DateDiff('d', bl.Date_begin, bl.Date_receive) AS MyTimespan");
   commandString.AppendLine("FROM Borlist AS bl");
   commandString.AppendLine("INNER JOIN Borcus AS bc ON bc.Borrow_id = bl.Borrow_id");
   commandString.AppendLine("WHERE bc.Borrow_id = @BorrowId");
   commandString.AppendLine("ORDER BY bl.P_no ASC");

   command.CommandTimeout = 30;
   command.CommandType = CommandType.Text;
   command.CommandText = commandString.ToString();
   command.Parameters.AddWithValue("@BorrowId", txt_con.Text);

   using (OleDbDataAdapter adapter = new OleDbDataAdapter())
   {
      adapter.SelectCommand = command;
      adapter.Fill(dt);
   }
}


ปล. วันหลังหัดตั้งคำถามให้มัน clearๆ น่ะ อย่าขี้เกียจเขียน แค่ถามยังขี้เกียจเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 10:37:34 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 7



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษครับ พอดีไม่รู้จะตั้งคำถามยังไงดีครับ

อ่อ โปรแกรมที่พี่ให้ลองรันแล้วน่ะครับ

ผลออกมา

Error ครับ

No value given for one or more required parameters.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 11:54:16 By : ictm49
 


 

No. 8

Guest


มี field บางตัวไม่มีใน table น่ะสิ

มันเลยให้ป้อนค่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 11:59:52 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 9



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ในส่วนของ
commandString.AppendLine("DateDiff('d', bl.Date_begin, bl.Date_receive) AS MyTimespan");

ถูกไม่ครับ ผมจะให้นับวันถอยหลังครับ

อย่างเช่น วันนี้เหลืออีก10 วัน พรุ่งนี้ เหลืออีก9วันอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 12:06:48 By : ictm49
 


 

No. 10



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ถ้ามันยากขนาดนั้นไม่ลองทำใน datagrid ดูละครับแบบว่าเห็นปวดหัวยุแต่กับ SQL
ก็เลยจะบอกว่ามีทางให้เดินได้หลายแยกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 13:54:07 By : lamaka.tor
 


 

No. 11



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


แล้วถ้าใน ตอบความคิดเห็นที่ : 10 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-11 13:54:07
รายละเอียดของการตอบ ::
แล้วถ้าใน datagridview เขียนยังไงหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 16:27:48 By : ictm49
 


 

No. 12



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 11 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-11 16:27:48
รายละเอียดของการตอบ ::
Code
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i < dataGridView1.RowCount; i++) { dataGridView1[3, i].Value = (DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value; } }



โดยส่วนตัวถ้าไม่ซีเรียสกะค่ามาก ผมชอบมาเล่นกะ dataGridView แทนที่จะเล่นกับ SQL ครับ
เพราะผมไม่ค่อยถนัด SQL SQL ผมให้ query builder จัดการง่ายไปอีกแบบ(สมองผมมีน้อยเกินไปที่จะต้องมาปวดหัวกะเรื่องซับซ้อน 55555)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 16:40:00 By : lamaka.tor
 


 

No. 13



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าจะใส่ อีก .... วัน ทำไงหรอครับ


ประวัติการแก้ไข
2014-11-11 16:57:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 16:57:20 By : ictm49
 


 

No. 14



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 13 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-11 16:57:20
รายละเอียดของการตอบ ::
Code
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i < dataGridView1.RowCount; i++) { dataGridView1[3, i].Value ="อีก " + (DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value + " วัน"; } }


ไม่ได้กวนนะครับแต่มันเป็นงั้นจิงๆๆ 5555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:08:55 By : lamaka.tor
 


 

No. 15



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-11 17:08:55
รายละเอียดของการตอบ ::
ขอโทษครับไม่รู้จะใส่ตรงไหนดี
Code (C#)
connection.Open();

            DataTable dt = new DataTable();

            using (OleDbCommand command = connection.CreateCommand())
            {
                StringBuilder commandString = new StringBuilder();
                commandString.AppendLine("SELECT bc.Borrow_id,bl.P_no,bl.Date_begin,bl.Date_receive,");
                commandString.AppendLine("bl.Status,bl.Babout_cost,Btotal,bl.P_user");
                commandString.AppendLine("FROM Borlist bl,Borcus bc");
                commandString.AppendLine("WHERE bc.Borrow_id = bl.Borrow_id and bc.Borrow_id = @BorrowId");
                commandString.AppendLine("ORDER BY bl.P_no ASC");

                //command.CommandTimeout = 30;
                command.CommandType = CommandType.Text;
                command.CommandText = commandString.ToString();
                command.Parameters.AddWithValue("@BorrowId", txt_con.Text);

            using (OleDbDataAdapter adapter = new OleDbDataAdapter())
            {
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
         }
            try
            {
                DataView DV = new DataView(dt);
                DV.RowFilter = string.Format("Borrow_id LIKE '%{0}%'", txt_con.Text);
                dataGridView1.DataSource = DV;
                dataGridView1.Columns["Borrow_id"].Visible=false;
                dataGridView1.Columns["Babout_cost"].Visible = false;
                dataGridView1.Columns["Btotal"].Visible = false;
                dataGridView1.Columns["P_user"].Visible = false;

                string[] header = { "","งวดที่", "ตั้งแต่วันที่", "ถึงวันที่","เวลา", "สถานะ"};
                for (int i = 0; i < header.Length; i++)
                {
                    dataGridView1.Columns[i].HeaderText = header[i];
                }
                dataGridView1.Columns["P_no"].Width=80;
                connection.Close();
                //showdata();
                //da1.Update(dt1);
            }
               
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:16:37 By : ictm49
 


 

No. 16



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ผมก็ดันปล่อยโง่อีกแระ
มาแก้ครับ

Code
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i < dataGridView1.RowCount; i++) { dataGridView1[3, i].Value ="อีก " + string.format("{0:dd/MM/yyyy}", (DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value) + " วัน"; } }


ลืมใส่ format ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:18:23 By : lamaka.tor
 


 

No. 17



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนด้วยครับ ไม่รู้จะใส่ตรงไหนของโปรแกรม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:23:40 By : ictm49
 


 

No. 18



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


dataGridView1[3, i]

เลข 3 หมายถึงอะไรหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:28:54 By : ictm49
 


 

No. 19



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

มันเป็น private void ครับไว้ที่ไหนก็ได้ใน class ถ้าผมเข้าใจไม่ผิด
dataGridView1_DataBindingComplete จะทำงานหลัง dataGridView1.DataSource = DV;
พูดง่ายๆคือเมื่อเรา Binding ข้อมูลเรียบร้อยแล้วอ่าครับ

dataGridView1[3, i].Value คือ dataGridView1 columns ที่ 3 rows ที่ i

โทษทีครับถามหน่อยที่ทำอยู่นี่เป็น winApp ใช่ไม๊ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-11 17:46:20 By : lamaka.tor
 


 

No. 20



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 19 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-11 17:46:20
รายละเอียดของการตอบ ::
เป็น window Form ครับ ตัวเดียวกันไมครับ

คือจากที่ผมโพสโปรแกรม คืออยากทราบว่าจะแก้ [3,i]=[1,i]-[2,i] ยังไงดีครับ

ลองหลายวิธีแหละ Error ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 10:31:39 By : ictm49
 


 

No. 21



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 20 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-12 10:31:39
รายละเอียดของการตอบ ::
โปรแกรมไม่ Error แล้ว แต่ผลไม่แสดงออกมาครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 10:43:59 By : ictm49
 


 

No. 22



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 20 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-12 10:31:39
รายละเอียดของการตอบ ::
ถ้าอยากใช้แบบผมก็ต้องรู้ก่อนครับว่า ค่าที่เราต้องการมันอยู่ columns ไหนครับ
ถ้าไม่รู้ใช้ชื่อ columns ก็ได้ครับ(ส่วนตัวถนัดแบบ Index ไม่ยุ่งยากดี)
dataGridView1["ชื่อ columns ",i].Value



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 11:06:55 By : lamaka.tor
 


 

No. 23



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ลองเอา
dataGridView1.Columns["Borrow_id"].Visible=false;
dataGridView1.Columns["Babout_cost"].Visible = false;
dataGridView1.Columns["Btotal"].Visible = false;
dataGridView1.Columns["P_user"].Visible = false;

ออกดูครับ

ใน code ผมไม่เห็นการเพิ่ม Columns "เวลา" ขึ้นมาใช่ไม๊ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 11:16:24 By : lamaka.tor
 


 

No. 24



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 23 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-12 11:16:24
รายละเอียดของการตอบ ::

พี่ครับ ลองแก้ไขหน่อยน่ะครับ ว่าต้องเขียนยังไง ที่จะเขียนแบบพี่
Code (C#)
connection.Open();

            DataTable dt = new DataTable();

            using (OleDbCommand command = connection.CreateCommand())
            {
                StringBuilder commandString = new StringBuilder();
                commandString.AppendLine("SELECT bc.Borrow_id,bl.P_no,bl.Date_begin,bl.Date_receive,");
                commandString.AppendLine("bl.Status,bl.Babout_cost,Btotal,bl.P_user");
                commandString.AppendLine("FROM Borlist bl,Borcus bc");
                commandString.AppendLine("WHERE bc.Borrow_id = bl.Borrow_id and bc.Borrow_id = @BorrowId");
                commandString.AppendLine("ORDER BY bl.P_no ASC");

                //command.CommandTimeout = 30;
                command.CommandType = CommandType.Text;
                command.CommandText = commandString.ToString();
                command.Parameters.AddWithValue("@BorrowId", txt_con.Text);

            using (OleDbDataAdapter adapter = new OleDbDataAdapter())
            {
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
         }
            try
            {
                DataView DV = new DataView(dt);
                DV.RowFilter = string.Format("Borrow_id LIKE '%{0}%'", txt_con.Text);
                dataGridView1.DataSource = DV;
                dataGridView1.Columns["Borrow_id"].Visible=false;
                dataGridView1.Columns["Babout_cost"].Visible = false;
                dataGridView1.Columns["Btotal"].Visible = false;
                dataGridView1.Columns["P_user"].Visible = false;

                string[] header = { "","งวดที่", "ตั้งแต่วันที่", "ถึงวันที่","เวลา", "สถานะ"};
                for (int i = 0; i < header.Length; i++)
                {
                    dataGridView1.Columns[i].HeaderText = header[i];
                }
                dataGridView1.Columns["P_no"].Width=80;
                connection.Close();
                //showdata();
                //da1.Update(dt1);
            }
               
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }





ประวัติการแก้ไข
2014-11-12 12:37:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 12:36:06 By : ictm49
 


 

No. 25



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

LastPay คือ วันที่จาก DB
NOW() คือ วันปัจจุบัน

Code (SQL)
SELECT tblinvoice.LastPay as วันเริ่ม,NOW() as ถึงวัน,DATEDIFF(NOW(),tblinvoice.LastPay) as วัน FROM tblinvoice


dateee

ถ้าได้ค่าติดลบคือเลยมาแล้ว

ปล.สำหรับโปรแกรมของผมจะหาจำนวนวันที่ครบกำหนดชำระว่าเหลือกี่วัน ถ้าเกินมาแล้ว 7 วัน คือถ้าค่าเท่า -7 ระบบก็จะเปลี่ยนเป็นสถานะอื่นและทำการปรับหน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 13:35:23 By : zarooman
 


 

No. 26



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 24 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-12 12:36:06

ต้องออกตัวผมไม่ถนัด SQL แบบที่ต้องมานั่งเขียนเองเท่าไหร่
ส่วนใหญผมใช้ query builder เพราะมันใช้ skill น้อยกว่า ความผิดพลาดน้อยกว่าด้วย
เอาละครับ ลองเอา Code บ้านๆ ของผมไปใช้ดูว่า รัน ได้ป่าว
รายละเอียดของการตอบ ::
private void Form2_Load(object sender, EventArgs e)
{
string sql = "SELECT bc.Borrow_id,bl.P_no,bl.Date_begin,bl.Date_receive,DATEDIFF(day,bl.Date_begin,bl.Date_receive) as _days," +
"bl.Status,bl.Babout_cost,Btotal,bl.P_user" +
"FROM Borlist bl,Borcus bc" +
"WHERE bc.Borrow_id = bl.Borrow_id and bc.Borrow_id = " + txt_con.Text +
"ORDER BY bl.P_no ASC";
dataGridView1.DataSource = GetTableForm(sql, strConn).DefaultView;
}
System.Data.DataTable GetTableForm(string _SQL, string strConn)
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(_SQL, conn);
adapter.Fill(ds);
return ds.Tables[0];

}

ปล. ถ้าไม่อยากมาเสียเวลากะ SQL แบบนี้ผมแนะนำให้ใช้ data source ,query builder แล้วมาจัดการที่ dataGridView เอาจะลดขั้นตอนการทำงานลงได้เยอะครับ(ตอบแบบนักวิทย์ซักหน่อย)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 14:31:41 By : lamaka.tor
 


 

No. 27



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ครับ ส่วนนั้นได้แล้วครับ

แต่ถ้า จะเขียนในโปรแกรมว่า ในแถวว่า อีก 1 วัน ประมาณนี้น่ะครับ แต่ถ้า เท่ากับ 0 ให้เท่ากับ วันนี้ แล้วถ้า เกิน ก็ให้ขึ้นว่า เกิน 1 วัน อ่ะครับ

ทำไงดี ยากมากลองหลายวิธีแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:07:40 By : ictm49
 


 

No. 28



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนผู้รู้ทุกท่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:10:29 By : ictm49
 


 

No. 29



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
int intDay;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
intDay = (int)((DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value));
dataGridView1[3, i].Value =(intDay >1)?"อีก " + intDay + " วัน":"เกิน " + intDay + " วัน";
}
}

ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:13:53 By : lamaka.tor
 


 

No. 30



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 25 เขียนโดย : zarooman เมื่อวันที่ 2014-11-12 13:35:23
รายละเอียดของการตอบ ::
อยากได้โค้ดของพี่น่ะครับ พอดีที่พี่บอกมาคลายกับโปรแกรมของผมเลยครับ ขอบคุณล่วงหน้าครัย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:23:27 By : ictm49
 


 

No. 31



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

IIF(DATEDIFF(day,bl.Date_begin,bl.Date_receive)>0,'อีก ' +DATEDIFF(day,bl.Date_begin,bl.Date_receive) + ' วัน','เกิน ' +DATEDIFF(day,bl.Date_begin,bl.Date_receive) + ' วัน') as _Days

อันนี้เดา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:25:25 By : lamaka.tor
 


 

No. 32



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ของคุณ zarooman จะเป็นโปรแกรมคล้ายๆผมอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 15:34:18 By : ictm49
 


 

No. 33



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอโทดทีครับ ผมโพสต์แล้วหลับไปพึ่งตื่น ถ้าไม่อยากให้มันติดลบ ก็เหมือนกันครับ ใน DATEDIFF ให้ สลับ NOW() กับ LastPay

Code (SQL)
SELECT tblinvoice.LastPay as วันเริ่ม,NOW() as ถึงวัน,DATEDIFF(tblinvoice.LastPay,NOW()) as วัน FROM tblinvoice

คือถ้าเกินมามันก็จะขึ้น จำนวนวันที่เกินครับ

ผมยัง งง ในคำถามนิสๆ บอกได้ไหมครับว่าเป็นโปรแกรมอะไร
ปล. ผมเขียน VB นะครับ C# ไม่เก่ง


ประวัติการแก้ไข
2014-11-12 19:12:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-12 19:10:24 By : zarooman
 


 

No. 34



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 33 เขียนโดย : zarooman เมื่อวันที่ 2014-11-12 19:10:24
รายละเอียดของการตอบ ::
เป็นโปรแกรมจำนำทอง อ่ะครับ

คืออยากให้ โชว์ในdatagridview ว่า อีกกี่วัน เอาเวลาปัจจุบัน ลบกับ เวลาในดาต้าเบส แล้วพอครบกำหนด จะขึ้นในdatagridview ว่า วันนี้ แต่พอพ้นกำหนดจะขึ้นว่า เกินกี่วัน แล้วน่ะครับ ประมาณนี้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 11:33:17 By : ictm49
 


 

No. 35



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


Code (SQL)
SELECT 
LastPay,
current_timestamp,
DATEDIFF(day, LastPay, current_timestamp ) as d1
FROM tblinvoice

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 11:48:27 By : Chaidhanan
 


 

No. 36



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 35 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-13 11:48:27
รายละเอียดของการตอบ ::
ผมใช้แบบนี้อ่ะครับ รบกวนแก้ด้วยน่ะครับ

Code (C#)
connection.Open();

            DataTable dt = new DataTable();

            using (OleDbCommand command = connection.CreateCommand())
            {
                StringBuilder commandString = new StringBuilder();
                commandString.AppendLine("SELECT bc.Borrow_id,bl.P_no,bl.Date_begin,bl.Date_receive,");
                commandString.AppendLine("DateDiff('d','" + dateTimePicker5.Value.ToShortDateString() + "',bl.Date_receive) AS MyTimespan");
                commandString.AppendLine(",bl.Status,bl.Babout_cost,Btotal,bl.P_user");
                commandString.AppendLine("FROM Borlist bl,Borcus bc");
                commandString.AppendLine("WHERE bc.Borrow_id = bl.Borrow_id and bc.Borrow_id = @BorrowId");
                commandString.AppendLine("ORDER BY bl.P_no ASC");

                //command.CommandTimeout = 30;
                command.CommandType = CommandType.Text;
                command.CommandText = commandString.ToString();
                command.Parameters.AddWithValue("@BorrowId", txt_con.Text);

            using (OleDbDataAdapter adapter = new OleDbDataAdapter())
            {
                adapter.SelectCommand = command;
                adapter.Fill(dt);
            }
         }
            try
            {
                DataView DV = new DataView(dt);
                DV.RowFilter = string.Format("Borrow_id LIKE '%{0}%'", txt_con.Text);
                dataGridView1.DataSource = DV;
                dataGridView1.Columns["Borrow_id"].Visible=false;
                dataGridView1.Columns["Babout_cost"].Visible = false;
                dataGridView1.Columns["Btotal"].Visible = false;
                dataGridView1.Columns["P_user"].Visible = false;

                string[] header = { "","งวดที่", "ตั้งแต่วันที่", "ถึงวันที่","เวลา", "สถานะ"};
                for (int i = 0; i < header.Length; i++)
                {
                    dataGridView1.Columns[i].HeaderText = header[i];
                }
                dataGridView1.Columns["P_no"].Width=80;
                connection.Close();
                //showdata();
                //da1.Update(dt1);
           }
               
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


รันออกมาได้

แต่ติดปัญหาที่ ในdatagridview อยากให้ โชว์ในdatagridview ว่า อีกกี่วัน แล้วพอครบกำหนด จะขึ้นในdatagridview ว่า วันนี้ แต่พอพ้นกำหนดจะขึ้นว่า เกินกี่วัน แล้วน่ะครับ ประมาณนี้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 13:27:02 By : ictm49
 


 

No. 37



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 36 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-13 13:27:02
รายละเอียดของการตอบ ::
ยังไม่ได้อีกเรอะครับ code พี่ zarooman ก็น่าจะได้แล้วนี่นา
IIF(DATEDIFF(day,now,bl.Date_receive)>0,'อีก ' +DATEDIFF(day,now,bl.Date_receive) + ' วัน','เกิน ' +DATEDIFF(day,now,bl.Date_receive) + ' วัน') as _Days

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 13:58:09 By : lamaka.tor
 


 

No. 38



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ถ้า แยก คอลัมน์ได้ไหมครับ
เริ่ม เกิน/วัน อีก/วัน

Code (SQL)
SELECT 
LastPay,
current_timestamp,
case when current_timestamp>LastPay 
then DATEDIFF(day, LastPay, current_timestamp )
else 0
end as d1,
case when current_timestamp>LastPay 
then 0
else DATEDIFF(day, current_timestamp, LastPay )
end as d2
FROM tblinvoice


ปล. กำลังอัพเดท vs 2012.4 อยู่อะครับ เลยไม่มี โปรแกรม เทส


ประวัติการแก้ไข
2014-11-13 14:18:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:17:37 By : Chaidhanan
 


 

No. 39



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 37 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-13 13:58:09
รายละเอียดของการตอบ ::
ใส่ if ลงไป ใน sql แบบนั้นได้ด้วยหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:19:40 By : ictm49
 


 

No. 40



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 39 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-13 14:19:40
รายละเอียดของการตอบ ::
ผมก็ลอกเค้ามาเหมือนกันยังไม่ลองครับ
http://msdn.microsoft.com/en-us/library/hh213574.aspx
http://stackoverflow.com/questions/11540753/sql-server-2008-iif-statement-does-not-seem-enabled
เด๋งลองให้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:24:08 By : lamaka.tor
 


 

No. 41



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 38 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-13 14:17:37
รายละเอียดของการตอบ ::
ไม่เคยเขียนโปรแกรมแบบนั้นเลยครับ เดียวจะลองสร้าง form ไหม จะลอง test ดูน่ะครับ มึนหัวกับ จุดนี้มานานแล้วครับ กะว่าจะไม่ใส่แล้ว
แต่ถ้าไม่ใส่จะไม่สะดวกในการต่ออายุสัญญาน่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:26:25 By : ictm49
 


 

No. 42



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 39 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-13 14:19:40
รายละเอียดของการตอบ ::
ยืนยัน
กลับมายืนยันครับว่าได้ชัวไม่มั่วนิ่ม
IIF(DATEDIFF(day,now,bl.Date_receive)>0,'อีก ' +DATEDIFF(day,now,bl.Date_receive) + ' วัน','เกิน ' +DATEDIFF(day,now,bl.Date_receive) + ' วัน') as _Days
มั่นใจครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:29:22 By : lamaka.tor
 


 

No. 43



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ผมอยากให้ลองใช้ data source ,query builder แล้วมาจัดการที่ dataGridView ดูครับผมว่ามันจะง่ายกว่านา
เพราะ query builder มันจะ ex ได้ว่า SQL รึป่าวลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:37:51 By : lamaka.tor
 


 

No. 44



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 43 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-13 14:37:51
รายละเอียดของการตอบ ::
แล้วจะจัดการยังไงดีครับ ถามดื้อๆเลย คือตอนนี้ในสมองคิดไม่ออกเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:48:05 By : ictm49
 


 

No. 45



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 44 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-13 14:48:05
รายละเอียดของการตอบ ::
เอางี้ครับ สละเวลาซัก 10 นาที สร้าง form,add data source ,ลากตารางมาใส่ form แก้ไข้ datagrid ให้ดูดี
จากนั้นเพิ่ม
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
int intDay;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
intDay = (int)((DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value));
dataGridView1[3, i].Value =(intDay >1)?"อีก " + intDay + " วัน":"เกิน " + intDay + " วัน";
}
}

ผมว่า 10 นาที ลองดูก็เสียหลายครับ
ผมเห็นว่าหมดหมุ่นอยู่กับมันมานานแระนะก็เลยแนะดู



ประวัติการแก้ไข
2014-11-13 14:58:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 14:57:13 By : lamaka.tor
 


 

No. 46



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 45 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-13 14:57:13
รายละเอียดของการตอบ ::
ใส่ int ไม่ได้อ่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 15:17:41 By : ictm49
 


 

No. 47



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 46 เขียนโดย : ictm49 เมื่อวันที่ 2014-11-13 15:17:41
รายละเอียดของการตอบ ::
ตัวไหนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 15:21:49 By : lamaka.tor
 


 

No. 48



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 47 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-13 15:21:49
รายละเอียดของการตอบ ::

intDay = (int)((DateTime)dataGridView1[1, i].Value - (DateTime)dataGridView1[2, i].Value));

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 16:03:01 By : ictm49
 


 

No. 49



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

มัน error ว่าไงครับ
facebook Mongkon Phochaila add มาคุยกันเด๋วดูให้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 16:18:11 By : lamaka.tor
 


 

No. 50



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 38 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-13 14:17:37
รายละเอียดของการตอบ ::

ขอโทษครับ ไม่รู้จะใส่แบบไหนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 16:21:30 By : ictm49
 


 

No. 51



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

DueDate = วันที่ครบกำหนดชำระ
NOW() = คือวันปัจจุบัน

โอเค ได้ฟิลด์ตามนี้แล้วก็ใส่ SQL ตามนี้
Code (SQL)
SELECT DueDate as วันครบกำหนด,NOW() as ถึงวัน,if(DATEDIFF(DueDate,NOW())>0,CONCAT('เหลือ ',DATEDIFF(DueDate,NOW()),' วัน'),if(DATEDIFF(DueDate,NOW())=0,'วันนี้',CONCAT('เกินมา ',MID(DATEDIFF(DueDate,NOW()),2,30),' วัน'))) as วัน FROM Table 


IF แรกถ้าค่ามากกว่า 0 แสดงว่าเกินวันครับกำหนดมาแล้ว
IF สองถ้าเท่า 0 แสดงว่าวันครบกำหนดคือวันนี้หรือวันปัจจุบัน
IF สามถ้าค่าที่ได้น้อยกว่า 0 หรือ ติดลบ แสดงว่าวันครบกำหนดนั้นๆยังมาไม่ถึง
ทั้ง สาม IF มี CONCAT คือ ฟังก์ชันเชื่อม ข้อความ
ใน IF สามที่ผมใช้ฟังก์ชัน MID นั้นเพราะต้องการจะตัดค่า ที่มันติดลบ "-" ออก เพื่อให้มันเป็นจำนวนเต็ม

หหหห

ตามนี้นะครับ
Select ลง Dataset แล้วเอามาใส่ใน Datagrid
ส่วนถ้าจะบันทึกเข้าไปในฐานข้อมูลว่าเลยมาจะนวนกี่วันนั้นไม่จำเป็นต้องบันทึกทุกวัน ให้บันทึกเวลาเราต้องการจะบันทึกหรือลูกค้ามาชำระค่างวดแล้วก็พอ
อันนี้เอามาโชว์ ให้พนักงานดูเฉยๆว่า มันเลยมากี่งวดวันแล้วและ จะต้องปรับ กี่บาท ประมาณนั้น

ปล. ผมทำให้ My sql ไม่รู้เหมือนกันว่า ฟังก์ชันพวกนี้ สามารถทำได้ใน SQL Server รึป่าวนะ


ประวัติการแก้ไข
2014-11-13 17:21:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 17:17:38 By : zarooman
 


 

No. 52



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


รบกวน จขกท หน่อยครับ ขอ environment ที่ใช้ครับ

database อะไร
C# เวอร์ชั่นไหนครับ

และ อีกอย่าง ถ้า ก๊อปโค๊ด ที่เกี่ยวข้องมาด้วยก็จะดีนะครับ

เช่น connection มันมาลอยๆ เลยไม่รู้ว่า ใช้ component ตัวไหน อะครับ
และ using ถ้าไม่ได้เขียน คนเดียว ใช้ตัวเต็มดีกว่าครับ แบบอ่านโค๊ดแล้ว งง ว่าต้นตอมาจากไหน
กว่าจะเลื่อนขึ้นไปดู ก็ลืมแล้วครับ แบบ ไม่ค่อยชำนาญครับ รู้แต่ หลักการและไวยกรณ์ พวกชุดคำสั่งต้อง doc อยู่ตลอด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 21:53:09 By : Chaidhanan
 


 

No. 53



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 52 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-13 21:53:09
รายละเอียดของการตอบ ::
ใช้ OleDB ผมสันนิฐานว่าน่าจะเป็น Access หรือ พวก Microsoft หน่ะท่าน
ปล.ไม่แน่ใจเหมือนกัน



ประวัติการแก้ไข
2014-11-13 23:56:18
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-13 23:55:39 By : zarooman
 


 

No. 54



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


โปรแกรมเขียนขึ้นภายใต้ database : Access C# VS2012
บน Form1
dataGridView1
button1
button2

Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        string connectionString;
        OleDbConnection connection;
        OleDbDataAdapter oledbAdapter;
        OleDbCommandBuilder oledbCmdBuilder;
        DataSet ds = new DataSet();
        DataSet changes;

        string Sql;
        
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SQLServer\Newdatabese.accdb";
            //connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
            connection = new OleDbConnection(connectionString);
            Sql = "SELECT ID, name1, LastPay, DATE() AS Today, TIME() AS xtime "+
                ", iif(DateDiff( 'd', LastPay, DATE() )>0, DateDiff( 'd', LastPay, DATE() ) , 0) AS d1 " +
                ", iif(DateDiff( 'd', LastPay, DATE() )<0, DATEDIFF('d', DATE(), LastPay ), 0 ) AS d2 " +
" FROM tblinvoice";
            try
            {
                connection.Open();
                oledbAdapter = new OleDbDataAdapter(Sql, connection);
                oledbAdapter.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                oledbCmdBuilder = new OleDbCommandBuilder(oledbAdapter);
                changes = ds.GetChanges();
                if (changes != null)
                {
                    oledbAdapter.Update(ds.Tables[0]);
                }
                ds.AcceptChanges();
                MessageBox.Show("Save changes");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }        
        }

    }
}

access
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 12:07:52 By : Chaidhanan
 


 

No. 55



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 54 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-14 12:07:52
รายละเอียดของการตอบ ::
ถึงขนาดลงทุนเขียนให้ดูขนาดนี้นับถือครับ
จากที่ดู คุณ ICTM น่าจะใช้ access แต่ติดปัญหา ความรู้เรื่อง SQL
ความจริงถ้าน้องเค้าใช้ data source ,query builder แล้วมาจัดการที่ dataGridView
น่าจะเสดตั้งนานแล้วละครับเพราะปัญหานี้มันไม่ยากเลย
เพราะผมก็ไม่เก่ง SQL เหมือนกันทุกอย่างที่เอามาตอบก็ได้จาก query builder นี่แหละ
ลำพังผมคงตอบไม่เทพเหมือนท่าน Chaidhanan กะท่าน zarooman
ถือเป็นประสพการณ์อีกแบบ 5555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 12:46:12 By : lamaka.tor
 


 

No. 56



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 55 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-14 12:46:12
รายละเอียดของการตอบ ::
จริงๆ ผมก็ไม่ชำนาญหรอกครับ นี่ก็ไปก๊อปเขามา
เพียงแต่ผม รู้ว่า ควรจะใช้คำค้นอะไร ไปเสริช อะครับ แต่ก็ต้องรู้ ว่า ใช้อะไรเป็น database
ทีแรกผมก็นึกว่าเป็น SQLServer แต่เอ component, มันแปลกๆ ไม่เห็นเหมือนกัน เลยต้อง โพสมาถาม

พอรู้ enverionment ผมก็เข้าไป เสริชใช้คำค้น vs2012 C# Access binding to datagridview มันก็ขึ้นมาพรึด
ก็หามาเป็นตัวอย่างซักอันที่ มันใช้ string command ก็ใส่ค่าเข้าไปแทนที่ เท่านั้นแหล่ะครับ
ไม่ได้เทพอะไรเลย อ้ออาจจะเทพเรื่องค้นหาก็ได้ครับ 55555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 14:05:06 By : Chaidhanan
 


 

No. 57



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 56 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-14 14:05:06
รายละเอียดของการตอบ ::
เหมือนกาน 5555
ทุกวันนั่งเขียนโปรแกรมจนลูกน้องบอกว่าผมไม่ใช่นักวิทย์ไปแล้ว
เปลี่ยนสายงานจะทันไม๊ละเนี๊ยะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 14:20:23 By : lamaka.tor
 


 

No. 58



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์


รูป

น่าจะคล้ายๆกันกับของหนูนะ แบบนี้หรือเปล่าค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 15:25:49 By : ปะละลวก
 


 

No. 59



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 55 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-14 12:46:12
รายละเอียดของการตอบ ::
ขอบคุณครับที่ชม จริงๆผมก็ไม่ได้เทพอะไรหรอกครับ พอดีงานของ จขกท. มันใกล้เคียงกับ งานที่ผมเคยทำไว้ก็เลยก็อปปี้โค้ดมาให้เขาหน่ะครับ อิอิ ให้ทำสดๆคงไม่ไหวเหมือนกัน เหมือนเวลาล่วงเลยไป ช่วงนี้ผมรู้สึกว่า จะคิดอะไรต่อมิอะไรมันช่างยากเหลือเกิน หุหุ

ปล.ไม่แน่ใจว่า CONCAT ใน Acc มีรึป่าวนะ ไม่เคยใช้เลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-15 00:54:52 By : zarooman
 


 

No. 60



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ใช้ CONCAT รันไม่ผ่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-15 15:52:21 By : ictm49
 


 

No. 61



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 59 เขียนโดย : zarooman เมื่อวันที่ 2014-11-15 00:54:52
รายละเอียดของการตอบ ::
งั้นคงมีแต่ผมที่มานั่งด้นสดตอบกระทู้ 5555
โชคดีที่ใช้ query builder ไม่งั้นก็คงง่อยกิน
แต่ก็เห็นหลายท่านที่ใช้ SQL ก็เลยอยากถามว่า query builder ไม่ดีเรอะครับทำไมไม่ค่อยเห็นมีใครใช้กัน


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-15 16:14:20 By : lamaka.tor
 


 

No. 62



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 61 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-15 16:14:20
รายละเอียดของการตอบ ::
ไม่ใช่ไม่ดีครับ แต่มันต้องเปิดนู่นเปิดนี่


ถ้าเขียน stringcommand คล่อง ผมว่าคีย์เองเลยง่ายกว่าครับ

แบบผมเขียนจนชำนาณแล้ว ( ใช้ sqlbuilder ไม่เก่ง 555)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-15 16:20:27 By : Chaidhanan
 


 

No. 63



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 62 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-15 16:20:27
รายละเอียดของการตอบ ::
ควรใช้อะไรแทน CONCAT ดีครับ จะให้ประโยคเชื่อมกัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-16 14:03:16 By : ictm49
 


 

No. 64



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


[name_first] & " " & [name_last]


ประวัติการแก้ไข
2014-11-16 17:24:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-16 17:21:45 By : Chaidhanan
 


 

No. 65



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ งงมาหลายวัน

Code (C#)
connection.Open();

            DataTable dt = new DataTable();

            using (OleDbCommand command = connection.CreateCommand())
            {
                StringBuilder commandString = new StringBuilder();
                commandString.AppendLine("Select Date_receive as วันครบกำหนด,NOW() as ถึงวัน,");
                commandString.AppendLine("IIF(DATEDIFF('d',NOW(),Date_receive)>0,'อีก '&DATEDIFF('d',NOW(),Date_receive)&' วัน',");
                commandString.AppendLine("IIf(DateDiff('d',NOW(),Date_receive)<=0,'เกิน '&-DATEDIFF('d',NOW(),Date_receive)&' วัน'))");
                commandString.AppendLine("FROM Borlist");

                //command.CommandTimeout = 30;
                command.CommandType = CommandType.Text;
                command.CommandText = commandString.ToString();

                using (OleDbDataAdapter adapter = new OleDbDataAdapter())
                {
                    adapter.SelectCommand = command;
                    adapter.Fill(dt);
                }
            }
            dataGridView1.DataSource = dt;


ที่ 'เกิน' ผมใช้ - Datediff จะให้ค่าไม่ติดลบน่ะครับ ถูกไม่ครับ แต่รันผ่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 10:57:22 By : ictm49
 


 

No. 66



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook


ดีแระครับที่ผ่าน
ติดลบใช้ ABS() ได้ครับ จะให้ค่าบวกเสมอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 11:13:19 By : lamaka.tor
 


 

No. 67



โพสกระทู้ ( 72 )
บทความ ( 0 )



สถานะออฟไลน์


ขอถามเรื่องอืนน่ะครับ พอดีผมแก้ไขข้อมูล แต่รันแล้วระบบยังจำของเดิม ทำไงดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 11:28:03 By : ictm49
 


 

No. 68



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

DataGridView.DataSource = null
DataGridView.DataSource = .....
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 11:37:44 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# อยากเอาเวลาปัจจุบันมาลบกับเวลารับจากดาต้าเบส
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่