System.ArgumentException: 'Parameter is not valid.'
Hej,Jeg har lavet lidt hygge programering i noget tid Visual Studio og med stor success indtil nu. Jeg er dog løbet ind i et problem jeg ikke lige kan finde ud af hvad jeg skal gøre med :-(
Jeg får følgende fejl:
System.ArgumentException: 'Parameter is not valid.'
Her i koden:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Munin
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Fejlbeskeden/cursor stopper i linjen nedenfor
Application.Run(new Menu());
}
}
}
Det forekommer i forbindelse med følgende kode:
private void upd_Q()
{
string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
string BNR = userName.Substring(userName.Length - 6, 6);
using (SqlConnection connection = new SqlConnection(ConString))
{
try
{
int curRow = -1;
if (dgv_C.CurrentRow.Index != -1)
{
curRow = dgv_C.CurrentRow.Index;
}
dgv_Q2.DataSource = null;
dgv_Q2.Rows.Clear();
string query = @" SELECT QA.T_QA_B_CASE_Q.Q_ID, QA.T_QA_B_CASE_T.T_NAME AS Taxonomy, QA.T_QA_B_QUESTIONS.Q_NAME AS Question, QA.T_QA_B_CASE_Q.Q_RESULT AS Result
FROM QA.T_QA_B_CASE_Q with (nolock) INNER JOIN
QA.T_QA_B_QUESTIONS with (nolock) ON QA.T_QA_B_CASE_Q.Q_ID = QA.T_QA_B_QUESTIONS.Q_ID INNER JOIN
QA.T_QA_B_CASE_T with (nolock) ON QA.T_QA_B_QUESTIONS.T_ID = QA.T_QA_B_CASE_T.T_ID
WHERE (QA.T_QA_B_CASE_Q.U_CASE_ID = '"+ dgv_C.Rows[curRow].Cells[0].Value.ToString() + "') AND (QA.T_QA_B_CASE_T.QA_TYPE =" + dgv_C.Rows[curRow].Cells[12].Value.ToString() + ") ORDER BY QA.T_QA_B_CASE_T.T_ORDER, QA.T_QA_B_QUESTIONS.Q_ORDER";
SqlDataAdapter da = new SqlDataAdapter(query, connection);
connection.Open();
DataSet ds = new DataSet();
da.Fill(ds, "Q");
dgv_Q2.AutoGenerateColumns = true;
dgv_Q2.DataSource = ds; // dataset
dgv_Q2.DataMember = "Q"; // table name you need to show
connection.Close();
dgv_Q2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dgv_Q2.Columns[0].Visible = false;
}
catch (Exception ex)
{
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
SqlConnection EL = new SqlConnection(ConString);
string SqlCmdText = @" INSERT INTO [DATA].[QA].[T_QA_B_ERR_LOG]([ROW_TS],[BNR],[FORM],[MSG])
VALUES(@ROW_TS,@BNR,@FORM,@MSG)";
SqlCommand sc = new SqlCommand(SqlCmdText, EL);
EL.Open();
sc.Parameters.Clear();
sc.Parameters.AddWithValue("@ROW_TS", sqlFormattedDate);
sc.Parameters.AddWithValue("@BNR", userName);
sc.Parameters.AddWithValue("@FORM", "Checker");
sc.Parameters.AddWithValue("@MSG", "upd_Q: " + ex.Message.ToString());
sc.ExecuteNonQuery();
EL.Close();
}
}
}
Det der gør det ekstra underligt er at den ikke gør det ved først kørsel af private void upd_Q() men først anden gang den køre koden.
Kan nogen hjælpe mig til at forstå hvad jeg gør galt så jeg kan blive klogere på mine fejl?
På forhånd 1000 tak for jeres tid!