פורסם 2010 בדצמבר 3114 שנים אתה קורא את מה שאני כותב לך?הפקודות שאתה כותב לא תקניות, ולכן הוא לא מסוגל לפרש אותן. כבר הראיתי לך בדיוק איפה הטעות שלך.
פורסם 2010 בדצמבר 3114 שנים מחבר הבנתי,עשיתי רווחים איפה שצריך,תודה אבל הוא עושה לי שגיאה עכשיו רק לגבי החלק האחרון עם הAND זה לא כתוב נכון? datacommand.CommandText = "SELECT Location " + "FROM tblStations " + "WHERE Line = " + this.name1+ "AND Numofstation= " + i;
פורסם 2010 בדצמבר 3114 שנים שים לב שעדיין חסר לך רווח בין ה-AND למה שלפניו. חוץ מזה עוד יש לך בעיה קטנה - את מה שמשווים ל-Line אתה צריך להעביר בגרשיים, כלומר:"WHERE Line= \'" + this.name1 + "\'"כדי ששרת ה-SQL יידע שזו מחרוזת.
פורסם 2010 בדצמבר 3114 שנים הגיע הזמן להתחיל ולעבוד עם ה Debugger.תעשה Add Watch ל datacommand.CommandText ותראה בדיוק איך הסטרינג שלך נראה.
פורסם 2011 בינואר 114 שנים מחבר תודה רבה זו באמת הייתה הבעיה,אבל כנראה עדיין יש בעיה בקוד כי כשאני מפעיל עדיין קופץ לי error"לא ניתן ערך עבור אחד או יותר מבין הפרמטרים הדרושים"תודה מראש על כל העזרה! private void Visibl1() { try { OleDbCommand datacommand = new OleDbCommand(); datacommand.Connection = dataConnection; OleDbDataReader dataReader; string st; for (int i = 1; i <= this.numOfStations1; i++) { datacommand.CommandText = "SELECT Location " + "FROM tblStations " + "WHERE Line = " +" this.name1"+ " AND Numofstation = " + i; dataReader = datacommand.ExecuteReader(); dataReader.Read(); st = dataReader.GetString(1); arrBtn[i].Visible = true; arrBtn[i].Text = st; if ((i % 11 != 0) && (i != this.numOfStations1)) arrPct[i].Visible = true; } for (int i = 1; i <= this.numOfStations2; i++) { arrBtn[i + 55].Visible = true; if ((i % 11 != 0) && (i != this.numOfStations2)) { arrPct[i + 55].Visible = true; } } } catch (Exception ex) { MessageBox.Show("Error accessing the database: " + ex.Message, "Errors", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
פורסם 2011 בינואר 114 שנים לא טוב: datacommand.CommandText = "SELECT Location " + "FROM tblStations " + "WHERE Line = " +" this.name1"+ " AND Numofstation = " + i;טוב:datacommand.CommandText = "SELECT Location FROM tblStations WHERE line='"+this.name1+"' AND Numofstation = "+iאם Line הוא עמודה מספרית אז תוריד את הגרשים ליד המרכאות.
פורסם 2011 בינואר 114 שנים מחבר line היא לא עמודה מספרית ועדיין זה נשאר לי עם אותה השגיאה..זה קשור למסד נתונים עצמו?השגיאה הזאת?
פורסם 2011 בינואר 114 שנים תדפיס את datacommand.CommandTextותראה את השאליתה שאתה מנסה לבצע, או דרך הדיבאגר או פשוט;(MessageBox(datacommand.CommandTextסביר להניח ש this.name1 הוא ריק
פורסם 2011 בינואר 114 שנים this.name1 לא אמור להיות בגרשיים...חבל שבמשך 3 עמודים עדיין לא הפנמת ושפוט ניסית להדפיס בעצמך את השאילתה שבנית...היה חוסך לך המון זמן...
פורסם 2011 בינואר 514 שנים מחבר this.name1 הוא לא ריקולא שמתי אותו בגרשייםעשיתי מעקב באמצע ההרצה ובדקתי את הערך שלו,הוא לא ריק ואני לא יודע מה הקשר להודעה הזאת כי אין שום פרמטרים אחרים חוץ מname1 שעושה את השגיאה הזאת.
פורסם 2011 בינואר 514 שנים מחבר הקוד: private void Visibl1() { try { OleDbCommand datacommand = new OleDbCommand(); datacommand.Connection = dataConnection; OleDbDataReader dataReader; string st; dataConnection.Close(); for (int i = 1; i <= this.numOfStations1; i++) { dataConnection.Open(); datacommand.CommandText = "SELECT Location FROM tblStations WHERE Numofstation = " + i + " AND Line = " + this.name1; dataReader = datacommand.ExecuteReader(); dataReader.Read(); st = dataReader.GetString(0); arrBtn[i].Visible = true; arrBtn[i].Text = st; if ((i % 11 != 0) && (i != this.numOfStations1)) arrPct[i].Visible = true; dataConnection.Close(); } for (int i = 1; i <= this.numOfStations2; i++) { arrBtn[i + 55].Visible = true; if ((i % 11 != 0) && (i != this.numOfStations2)) { arrPct[i + 55].Visible = true; } } } catch (Exception ex) { MessageBox.Show("Error accessing the database: " + ex.Message, "Errors", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
פורסם 2011 בינואר 514 שנים עוד יש לך בעיה קטנה - את מה שמשווים ל-Line אתה צריך להעביר בגרשיים' date=' כלומר:"Line= \'" + this.name1 + "\'"כדי ששרת ה-SQL יידע שזו מחרוזת.[/quote']
פורסם 2011 בינואר 514 שנים מחבר פתרתי את הבעיה תודה רבה!יש איזושהי דרך לרשום בc# "4א " ככה שה"א" יופיע משמאל ל4?כל פעם שאני רושם הוא מעביר לי את ה"א" אוטומטית לצד ימין.וככה הנתונים במסד ובc# לא תואמים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.